mysql問題二(效能優化續)

2021-10-24 10:53:31 字數 498 閱讀 4553

一:需要選擇合適的資料庫引擎

mysql有兩個資料庫引擎,分別是mylsam和innodb,各有優缺點。

mylsam適用於一些需要大量查詢的應用,但是對於需要大量寫的功能的應用不是很好。甚至你只要update乙個字段,表就會鎖起來。別的程序即便是讀操作也不行,要等到update執行完。

innodb在寫的操作必較多的時候必較優秀,支援事務。

二:用not exists 代替not in

not exists用到了連線能夠發揮已經建立好索引的作用。not in不能使用索引,是最慢的方式,需要同每一條記錄必較,在資料量較大時不建議採用這種方式。

三:盡量不採用不利於索引的操作符

如in , not in, is null, is not null

某個欄位總要拿來搜尋,為其建立索引,例如

alter table 表名 add index(欄位名)

mysql 效能優化(二)

今天突然看到一年前寫的 mysql 優化 一 感覺有些誤人子弟。今天再補充一些東西。關於引擎選擇,從理論上 和 實際上 可能會有差距,所以,對待mysql 要有實驗精神。一般來說,myisam 適合 1.做很多count 的計算。2.插入不平凡,查詢非常頻繁。3.沒有事務 innordb 非常適合 ...

mysql效能優化 二

使用profiling可以檢視sql的占用cpu i o的使用情況,具體的使用方法為 1.set pfofiling 1 2.select 需要分析的sql 3.show profiles 之後就會出現對應的查詢序列的id,有對應的cpu占用的時間 會有狀態資訊,io.cpu等等資訊 簡要文字說明 ...

mysql 效能優化(二)

今天突然看到一年前寫的 mysql 優化 一 感覺有些誤人子弟。今天再補充一些東西。關於引擎選擇,從理論上 和 實際上 可能會有差距,所以,對待mysql 要有實驗精神。一般來說,myisam 適合 1.做很多count 的計算。2.插入不平凡,查詢非常頻繁。3.沒有事務 innordb 非常適合 ...