自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

快速提高MySQL性能的10大“殺手锏”

數(shù)據(jù)庫 MySQL
伴隨著應用的頻繁使用,軟件也變得越來越慢,可能是內(nèi)存的問題,可能是軟件設計的問題的,但是你有沒有想過,你天天操作的數(shù)據(jù)庫也會拖累你的應用程序呢?

伴隨著應用的頻繁使用,軟件也變得越來越慢,可能是內(nèi)存的問題,可能是軟件設計的問題的,但是你有沒有想過,你天天操作的數(shù)據(jù)庫也會拖累你的應用程序呢?

下面就教你十招,搞定數(shù)據(jù)庫性能,讓你的應用飛起來。讓小編帶你來一一見識它們的獨特之處。

殺手锏1: 設置一定時間后優(yōu)化重建數(shù)據(jù)庫

MySQL check –o –all –database 會讓ibdata1不斷的增大,因此真正的優(yōu)化只能是重建數(shù)據(jù)庫表結構。

快速提高MySQL性能的 ——10大“殺手锏”

殺手锏2 :減少磁盤寫入的操作

  • 準備足夠大的寫入緩存 innodb_log_file_size,這個語句和寫磁盤操作有密切的聯(lián)系
  • 避免雙寫入緩沖

殺手锏3 :提高磁盤讀寫效率

RAID0 在使用名為EC2虛擬磁盤時,使用RAIDO 可以極大的提高磁盤的讀寫效率

殺手锏4 :多使用UNION INDEX 來代替UNION

我們知道使用索引能夠有效的減少數(shù)據(jù)庫中的數(shù)據(jù)量來提高查詢效率,因為索引可以直接尋找目標對象,不需要全部檢索一遍數(shù)據(jù)庫的。

舉個例子吧:數(shù)據(jù)庫索引 就如同在圖書管理尋找你所要找的圖書,查詢系統(tǒng)之后我們能夠知道那本本在哪個區(qū)域,在那個貨架,那樣就可以快速的找到我們所想要的圖書。不需要在偌大的圖書館里一本一本的尋找,數(shù)據(jù)庫索引就是這樣相同的道理。

索引代碼:

使用索引在數(shù)據(jù)庫中查詢用戶的 賬號和密碼:

殺手锏5 :將數(shù)據(jù)庫保存在內(nèi)存磁盤中

隨著硬盤技術的提高,很多人都會將數(shù)據(jù)庫存放在固態(tài)磁盤(SSD)中,盡管當前的固態(tài)磁盤比移動硬盤快的多,但是它仍然不能與電腦的內(nèi)存(RAM)相比,畢竟數(shù)據(jù)從系統(tǒng)內(nèi)存中讀取要比其他一切存儲都要快,建議使用內(nèi)存磁盤。

隨著現(xiàn)在電腦設備技術的前進,你不在需要將所有的數(shù)據(jù)庫都存入內(nèi)存中,就可以獲取內(nèi)存中大部分性能優(yōu)勢,你只需要將經(jīng)常使用到的數(shù)據(jù)存入內(nèi)存中即可。

快速提高MySQL性能的 ——10大“殺手锏”

在上面的圖表中,您可以看到高達每秒2,000個I/O操作,可以看出來將頻繁使用的數(shù)據(jù)存入到內(nèi)存中很適合。

殺手锏6:充分利用日志查詢

將所有的查詢記錄,使用ORM系統(tǒng)或者生成查詢語句系統(tǒng)比較有效。

切記,請不要在生成環(huán)境使用,不然你的磁盤空間會被占滿的。

執(zhí)行1s的查詢:

殺手锏7:用NOSQL的方式來使用MySQL

使用HnadleSocket跳過MySQL的SQL解析層,使得MySQL 變?yōu)檎嬲腘LSQL.

殺手锏8:使用JOIN (連接)來替代子查詢

MySQL 4.1 之后開始支持子查詢,即可以使用select 來創(chuàng)建一個單列的查詢結果,然后將這個查詢結果作為條件在另一個查詢中使用。舉個例子:我們現(xiàn)在需要在系統(tǒng)中,將沒有任何訂單的客戶從系統(tǒng)中刪除,此時我們可以使用子查詢,先從銷售單 表中將所有有訂單的客戶ID取出,然后將ID 傳遞給主查詢。

接下里我們找出沒有訂單的客戶ID,進一步優(yōu)化。

我們知道使用子查詢可以一次性就完成,原本需要很多步驟才能夠完成的SQL操作,同時還可以避免表鎖死,同時操作簡單。

含有join的連接來代替子連接,查詢速度會變得更快,原因是:MySQL不需要在內(nèi)存中再創(chuàng)建臨時表來完成這個主查詢和子查詢這兩個步驟,自然而然使用JOIN 連接就變得很快了。

殺手锏9:盡量使用”=”而不用”> ”或者”<”

“=” 擴大了索引的范圍

殺手锏10:不要總是使用 “SELECT *”

在正常情況下,使用索引是可以提高查詢速度的。但是當SQL語句使用累贅時,索引將無法發(fā)揮它應有的作用。

很顯然,雖然下面兩個查詢返回的結果都是一樣的,但是后者的效率要高很多。

下面的語句:

結論:

MySQL的性能優(yōu)化可能方法很多,但是我例舉出來的這10個方法是經(jīng)常使用到的。如果你有更好的方法,請告訴我。

責任編輯:趙寧寧 來源: 今日頭條
相關推薦

2021-02-22 09:01:13

Redis宕機日志

2021-03-18 10:31:27

Redis宕機日志

2011-07-04 10:00:02

虛擬化

2011-06-29 10:08:24

服務器虛擬化解決方案

2010-01-15 09:43:49

Windows 7殺手

2010-03-23 17:06:01

2015-06-15 14:48:21

蘋果iOS9軟實力

2022-02-25 08:55:19

BitMapRedis面試題

2019-08-29 10:46:42

2014-12-01 15:20:36

微信點評商家

2022-02-10 09:04:18

RediSDS數(shù)據(jù)結構

2019-02-23 06:32:33

網(wǎng)絡SD-WAN廣域網(wǎng)

2018-04-19 09:10:17

數(shù)據(jù)分析列式存儲

2020-02-19 13:39:14

操作系統(tǒng)WindowsLinux

2011-12-20 10:16:49

2015-08-11 14:38:34

2011-06-27 22:08:42

臺式機評測

2013-08-13 09:07:20

大數(shù)據(jù)

2010-01-18 17:02:06

2012-12-19 13:00:36

飛魚星WLANVF16
點贊
收藏

51CTO技術棧公眾號