MySQL延遲關聯效能優化方法改進版

2021-08-16 08:09:23 字數 447 閱讀 7333

《高效能mysql》也提到了延遲關聯,是這樣的

改進前:

select * from t_portal_user where create_time > '2012-10:10' and create_time

改進後:

select * from t_portal_user inner join

(select id from t_portal_user where create_time > '2012-10:10' and create_time

as a using(id)

這兩種方法其實原理是一樣的,但總感覺書上的方法更正規點,沒那麼山寨,但網上搜到的都是第一種,我只好把更標準的**貼出來了~

附書上原始碼:

Mysql優化之延遲關聯

有如下sql select from user where name abc order by age limit 10000,10。這個語句同時使用了order和limit,如果沒有索引的話會很慢。那麼可以加上如下索引 name,age 但是加索引之後可能還是很慢,因為這個索引不是覆蓋索引,查詢欄...

MySQL 利用延遲關聯優化分頁查詢

通常會有一些起點巨大的分頁查詢,效率低下,例如 select from tab where create date 2018 12 20 13 20 10 and create date 2019 05 01 14 00 00 order by id limit 328000,10 假設tab是乙個...

mysql效能優化 mysql效能優化

優化方式 1.空間換時間 冗餘 2.時間換空間 字段優先使用型別 int date char varchar text 索引型別 btree索引 hash索引 索引的葉子下,存放乙個資訊指向所在行的資料位址。btree有利於範圍查詢,hash有利於精確查詢。btree用的更多一些。btree索引的常...