資料庫優化之索引 阿新 • • 發佈:2019-02-17 索引的優缺點: 優點:提高程式效率. 缺點:增加,刪除慢,索引檔案需要更新,增加記憶體 新增索引欄位 要儘量避免全表掃描,首先應考慮在 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.儘量使用表變數來代替臨時表。如果表變數包含大量資料,請注意索引非常有限(只有主鍵索引)。