mysql查詢優化之基於索引的排序

2021-04-19 18:56:43 字數 418 閱讀 4584

mysql的弱點之一是它的排序。雖然mysql可以在1秒中查詢大約15,000條記錄,但由於mysql在查詢時最多只能使用乙個索引。因此,如果 where條件已經占用了索引,那麼在排序中就不使用索引了,這將大大降低查詢的速度。

我們可以看看如下的sql語句:

select * from sales where name = "jack" order by sale_date desc;

在以上的sql的where子句中已經使用了name欄位上的索引,因此,在對sale_date進行排序時將不再使用索引。為了解決這個問題,我們可以對sales表建立復合索引:

alter table sales drop index name, add index (name, sale_date)

這樣再使用上述的select語句進行查詢時速度就會大副提公升。

MySQL查詢優化之索引

mysql查詢優化之索引 什麼是索引 索引簡單來說就類似字典,想想我們小時候在中華字典怎麼查某個字。索引的作用就是快速找出在某個列中有一特定值的行。例如 有一張user表,其中有200萬條記錄,記錄著200萬個人的資訊。有乙個phone的字段記錄每個人的 號碼,現在想要查詢出 號碼為 x的人的資訊。...

mysql 索引優化器 Mysql之查詢優化器

對於乙個sql語句,查詢優化器先看是不是能轉換成join,再將join進行優化 優化分為 1.條件優化 2.計算全表掃瞄成本 3.找出所有能用到的索引 4.針對每個索引計算不同的訪問方式的成本 5.選出成本最小的索引以及訪問方式 開啟查詢優化器日誌 開啟 set optimizer trace en...

Mysql查詢語句優化之索引優化案例

sql優化說到底還是索引的優化,建立索引並使之生效.單錶優化 create table student id int 11 not null auto increment,stuname varchar 60 default null,age int 11 default null,varchar ...