1. 程式人生 > >資料庫優化之索引

資料庫優化之索引

索引的優缺點:

         優點:提高程式效率.

         缺點:增加,刪除慢,索引檔案需要更新,增加記憶體

新增索引欄位

         要儘量避免全表掃描,首先應考慮在 where 及 order by 涉及的列上建立索引。

索引優化

1.避免在 where 子句中對欄位進行 null 值判斷

          select 欄位名 from 表名 where num is null;

          最好使用 NOT NULL 填充資料庫

2.避免在 where 子句中使用 != <> 操作符,否則將引擎放棄使用索引而進行全表掃描。

3.避免在 where 子句中使用 or 來連線條件,必須兩個欄位都有索引才會使用索引.

4.使用like  模糊查詢  ‘%abc%’ 也不會使用索引

5.避免where子句中使用引數, 對欄位進行表示式操作, 對欄位進行函式操作都會導致引擎放棄使用索引而進行全表掃描

6.建立組合索引

 ALTER TABLE  表名稱 ADD INDEX  索引名稱(欄位名1,欄位名2);

組合索引 單獨查詢 欄位名2 不會使用索引

7.查詢量比較大,使用快取 分表分頁

8.對於多張大資料量的表 JOIN,要先分頁再 JOIN

9.select count(*) from table
;這樣不帶任何條件的 count 會引起全表掃描,並且沒有任何業務意義,是一定要杜絕的。

10.任何地方都不要使用 select * from t ,用具體的欄位列表代替“*”,不要返回用不到的任何欄位。

11.儘量使用表變數來代替臨時表。如果表變數包含大量資料,請注意索引非常有限(只有主鍵索引)。