偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

數(shù)據(jù)庫的優(yōu)化,要從這幾方面著手!

數(shù)據(jù)庫
目前在人工智能、大數(shù)據(jù)、電商等領(lǐng)域,幾乎所有平臺都免不了與數(shù)據(jù)庫打交道。隨著業(yè)務(wù)的發(fā)展和數(shù)據(jù)量的不斷增加,用戶對于系統(tǒng)的響應(yīng)速度的要求越來越高,于是性能問題逐漸成為了數(shù)據(jù)庫中最重要,也是最迫切要解決的問題之一。

目前在人工智能、大數(shù)據(jù)、電商等領(lǐng)域,幾乎所有平臺都免不了與數(shù)據(jù)庫打交道。隨著業(yè)務(wù)的發(fā)展和數(shù)據(jù)量的不斷增加,用戶對于系統(tǒng)的響應(yīng)速度的要求越來越高,于是性能問題逐漸成為了數(shù)據(jù)庫中最重要,也是最迫切要解決的問題之一。

隨著云時代的到來,以及自動化智能化運(yùn)維的發(fā)展,我們應(yīng)該從哪幾方面入手,來優(yōu)化數(shù)據(jù)庫的性能呢?

數(shù)據(jù)庫的優(yōu)化通常分三個方面:

  • 數(shù)據(jù)庫的硬件載體優(yōu)化
  • 數(shù)據(jù)庫語句的優(yōu)化
  • 數(shù)據(jù)庫架構(gòu)設(shè)計(jì)的優(yōu)化

[[213511]]

數(shù)據(jù)庫的硬件載體優(yōu)化

以前的數(shù)據(jù)庫常運(yùn)行在不同物理服務(wù)器的不同平臺上,且設(shè)備普遍比較老舊。此外各數(shù)據(jù)庫之間往往版本不統(tǒng)一,且普遍版本過舊、漏洞多、性能低下、維護(hù)成本較高。

隨著硬件技術(shù)的進(jìn)步,使數(shù)據(jù)庫的硬件載體成為優(yōu)化的選擇之一。所有數(shù)據(jù)庫可共用同一套服務(wù)器、數(shù)據(jù)庫系統(tǒng)和存儲設(shè)備,高性能的服務(wù)器能夠處理更多的工作負(fù)載,在安全方面也使得所有的安全防護(hù)設(shè)備能被統(tǒng)一部署。

例如,無論數(shù)據(jù)庫是否已被載入內(nèi)存,都需要使用快速存儲來處理寫入操作,并且避免在數(shù)據(jù)庫啟動后(重啟之后)出現(xiàn)性能問題,這里的快速存儲就是指固態(tài)硬盤。因此,我們可以用SSD固態(tài)硬盤代替SAS機(jī)械硬盤,將RAID級別調(diào)整為RAID1+0,其相對于RAID1和RAID5有著更好的讀寫性能,畢竟數(shù)據(jù)庫的壓力主要來自磁盤I/O方面。

此外,物理備份是對數(shù)據(jù)庫的物理文件(數(shù)據(jù)文件、控制文件、參數(shù)文件、歸檔日志文件)進(jìn)行轉(zhuǎn)儲,一旦數(shù)據(jù)庫發(fā)生故障,可以利用這些文件恢復(fù)到數(shù)據(jù)庫的失效點(diǎn)。在相應(yīng)的服務(wù)器數(shù)量和存儲空間擴(kuò)展后,就能實(shí)現(xiàn)數(shù)據(jù)庫的防災(zāi)備份。

數(shù)據(jù)庫語句的優(yōu)化

1、為數(shù)據(jù)字段選擇合適類型

在創(chuàng)建庫和數(shù)據(jù)表時,就應(yīng)該考慮每張表的數(shù)據(jù)類型大小。為每個表的數(shù)據(jù)字段選擇合適的類型會減少數(shù)據(jù)表每一行的存儲大小。

2、創(chuàng)建正確的索引

程序?qū)?shù)據(jù)庫的操作,絕大部分來自查詢,因此查詢的優(yōu)化至關(guān)重要,而大部分情況下,查詢的優(yōu)化在于索引***率。索引基本上是一個數(shù)據(jù)結(jié)構(gòu),正確的索引有助于加快整個數(shù)據(jù)檢索過程。

3、僅檢索相關(guān)數(shù)據(jù)

當(dāng)數(shù)據(jù)源非常龐大時,指定所需要用的數(shù)據(jù)集將節(jié)省大量檢索時間。

4、擺脫相關(guān)的子查詢

相關(guān)子查詢基本上取決于父查詢或外部查詢。這種搜索是逐行完成的,這意味著它會降低整個過程的速度。所以子查詢完全可以拆分出來,先生成臨時表,再做關(guān)聯(lián)查詢。

5、根據(jù)要求使用臨時表

以簡單的方式書寫臨時表代碼,不要讓其復(fù)雜化。

6、避免編碼循環(huán)

避免編碼循環(huán),因?yàn)樗鼤下麄€序列。

7、避免頻繁和數(shù)據(jù)庫連接

當(dāng)需要批量插入數(shù)據(jù)、查詢多個表信息時,在條件允許情況下,盡量一次性執(zhí)行完。

數(shù)據(jù)庫架構(gòu)設(shè)計(jì)的優(yōu)化

一個成熟的數(shù)據(jù)庫架構(gòu)并不是一開始設(shè)計(jì)就具備高可用、高伸縮等特性的,它是隨著用戶量的增加,其架構(gòu)才逐漸完善。

數(shù)據(jù)庫設(shè)計(jì)階段的優(yōu)化非常重要,當(dāng)后期數(shù)據(jù)庫表里面已經(jīng)有了大量數(shù)據(jù),且有大量的程序?qū)Υ吮碛胁僮鲿r,再對其進(jìn)行修改的話,就會難上加難。慢查詢(低效的查詢語句)、沒有適當(dāng)建立索引、數(shù)據(jù)庫堵塞(鎖)等問題會直接影響到用戶訪問速度和體驗(yàn)度。因此,我們要在架構(gòu)設(shè)計(jì)方面未雨綢繆,提前做好準(zhǔn)備。

數(shù)據(jù)庫架構(gòu)設(shè)計(jì)方面的優(yōu)化手段包括有:讀寫分離、主從配置、雙機(jī)熱備、分庫分表等等。

例如在生產(chǎn)環(huán)境中,業(yè)務(wù)系統(tǒng)通常讀多寫少,因此可部署一主多從架構(gòu),主數(shù)據(jù)庫負(fù)責(zé)寫操作,并做雙機(jī)熱備,多臺從數(shù)據(jù)庫做負(fù)載均衡,負(fù)責(zé)讀操作,在代碼層面或通過代理程序?qū)崿F(xiàn)讀寫分離。

分庫是根據(jù)業(yè)務(wù)將數(shù)據(jù)庫中相關(guān)的表分離到不同的數(shù)據(jù)庫中,如果業(yè)務(wù)量很大,還可將分離后的數(shù)據(jù)庫做主從復(fù)制架構(gòu),進(jìn)一步避免單庫壓力過大。若能把復(fù)雜單表拆分成多個小表,來減輕單個表的壓力,也將提高處理效率。

 

另外,還可以通過分解單臺數(shù)據(jù)庫負(fù)載來突破磁盤I/O性能;或?qū)釘?shù)據(jù)存放緩存中,以降低磁盤I/O訪問頻率。 

責(zé)任編輯:龐桂玉 來源: 研發(fā)云
相關(guān)推薦

2024-11-27 12:30:16

2021-02-01 17:44:52

數(shù)據(jù)安全數(shù)據(jù)泄露數(shù)據(jù)加密

2011-03-08 08:49:55

MySQL優(yōu)化單機(jī)

2009-03-31 17:01:56

Linux開源SaaS

2013-03-25 14:10:57

交換機(jī)產(chǎn)品分類網(wǎng)絡(luò)連接設(shè)備

2018-11-07 10:58:55

2015-04-23 14:17:48

2016-03-18 12:50:02

2017-06-16 21:36:14

2011-03-03 17:56:52

MySQL數(shù)據(jù)庫優(yōu)化

2018-07-09 15:27:01

2017-06-01 15:58:42

Oracle數(shù)據(jù)庫安全管理

2011-05-19 10:29:40

數(shù)據(jù)庫查詢

2010-09-17 15:07:33

2010-09-27 14:18:34

2018-02-25 05:45:11

2009-06-17 08:47:00

Hibernate優(yōu)化

2021-02-19 18:06:57

Oracle日志聯(lián)機(jī)

2011-03-31 09:19:54

數(shù)據(jù)庫優(yōu)化
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號