MySQL效能優化有哪些

2021-10-25 07:26:51 字數 626 閱讀 6485

1.當只要一行資料時使用limit 1

2. 選擇正確的資料庫引擎

mysql中有兩個引擎myisam和innodb,每個引擎有利有弊。myisam適用於一些大量查詢的應用,但對於有大量寫功能的應用不是很好。甚至你只需要update乙個字段整個表都會被鎖起來。而別的程序就算是讀操作也不行要等到當前update操作完成之後才能繼續進行。另外,myisam對於select count(*)這類操作是超級快的。innodb的趨勢會是乙個非常複雜的儲存引擎,對於一些小的應用會比myisam還慢,但是支援「行鎖」,所以在寫操作比較多的時候會比較優秀。

3. 用not exists代替not in

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

4. 對操作符的優化,盡量不採用不利於索引的操作符

如:in、not in、is null、is not null 、<> 等某個欄位總要拿來搜尋,為其建立索引:mysql中可以利用alter table語句來為表中的字段新增索引,語法為:alter table表名add index(欄位名)

參考文章

資料庫效能優化有哪些方式?

sql 優化 盡量避免使用 select 只查詢一條記錄時使用 limit 1 使用連線查詢代替子查詢 盡量使用一些能通過索引查詢的關鍵字。表結構優化 盡量使用數字型別字段,提高比對效率 長度不變且對查詢速度要求高的資料可以考慮使用 char,否則使用 varchar 表中字段過多時可以適當的進行垂...

mysql 索引有哪些 mysql索引有哪些型別

mysql目前主要有的索引型別為 普通索引 唯一索引 主鍵索引 組合索引 全文索引。下面本篇文章就來給大家介紹一下這些mysql索引,希望對你們有所幫助。通過給字段新增索引可以提高資料的讀取速度,提高專案的併發能力和抗壓能力。索引優化時mysql中的一種優化方式。索引的作用相當於圖書的目錄,可以根據...

mysql索引型別有哪些 MySQL有哪些索引型別

從資料結構角度 2 hash索引 a 僅僅能滿足 in 和 查詢,不能使用範圍查詢 b 其檢索效率非常高,索引的檢索可以一次定位,不像b tree 索引需要從根節點到枝節點,最後才能訪問到頁節點這樣多次的io訪問,所以 hash 索引的查詢效率要遠高於 b tree 索引 c 只有memory儲存引...