資料庫優化查詢效率

2021-08-28 14:33:19 字數 506 閱讀 1068

1、儲存引擎選擇:如果資料表需要事務處理,應該考慮使用 innodb,因為它完全符合 acid 特性。 如果不需要事務處理,使用預設儲存引擎 myisam 是比較明智的

2、分表分庫,主從。

3、對查詢進行優化,要盡量避免全表掃瞄,首先應考慮在 where 及 order by 涉及的列上建立索 引

4、應盡量避免在 where 子句中對字段進行 null 值判斷,否則將導致引擎放棄使用索引而進行全 表掃瞄

5、應盡量避免在 where 子句中使用 != 或 <> 操作符,否則將引擎放棄使用索引而進行全表掃 描

6、應盡量避免在 where 子句中使用 or 來連線條件,如果乙個欄位有索引,乙個字段沒有索引, 將導致引擎放棄使用索引而進行全表掃瞄

7、update 語句,如果只更改 1、2 個字段,不要 update 全部字段,否則頻繁呼叫會引起明顯的 效能消耗,同時帶來大量日誌

8、對於多張大資料量(這裡幾百條就算大了)的表 join,要先分頁再 join,否則邏輯讀會很高, 效能很差

使用索引優化資料庫查詢效率

使用索引優化資料庫查詢效率 1.不宜建立索引的情形 1 經常插入,修改和刪除的表 2 資料量比較小的表,因為查詢優化器在搜尋索引時所花費的時間可能會大於遍歷全表的資料所需要的時間 2.適合建立索引的情形 1 為where子句 現的列建立索引 2 建立組合索引 3 為group by子句 現的列建立索...

資料庫查詢提公升查詢效率

在乙個千萬級別的資料庫查詢中,提公升查詢效率方法 對查詢優化,要盡量避免全表掃瞄,首先考慮在where和orderby涉及的列上建索引 應盡量避免在where字句中對null值進行判斷,否則導致引擎放棄索引而進行全表掃瞄,如 select id from t where num is null,可以...

查詢資料庫效率問題

asp mssql,分頁部分。一種是使用記錄集實現分頁 set rs server.createobject adodb.recordset rs.open select from table conn,1,1 rs.pagesize 10 rs.absolutepage 1 另一種是直接使用sql...