數據庫優化查詢性能

MySQL怎樣優化WHERE子句

對於MyISAM和HEAP表,在一個單個表上的沒有一個WHERE的COUNT(*)直接從表中檢索信息。當僅使用一個表時,對NOT NULL表達式也這樣做。
無效常數表達式的早期檢測。MySQL快速檢測某些SELECT語句是不可能的並且不返回行。
如果不使用GROUP BY或分組函數(COUNT()、MIN()……),HAVING與WHERE合併。
對於聯接內的每個表,構造一個更簡單的WHERE以便更快地對錶進行WHERE計算並且也儘快跳過記錄。
所有常數的表在查詢中比其它表先讀出。常數表爲:
空表或只有1行的表。
與在一個PRIMARY KEY或UNIQUE索引的WHERE子句一起使用的表,這裏所有的索引部分使用常數表達式並且索引部分被定義爲NOT NULL。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章