兩個表,test和test2
test中100萬條資料,欄位有id,networkid等
test2中有1200萬資料,欄位有testid,code等。
主鍵為bigint,沒有索引
(1)分開查詢
語句 select id from test2 where code = 'def7414551'
耗時:15.872ms
結果 78條
select id , networkid from test where id =
22805 or id =
30689 or id =
37472 or id =
59166 or id =
72242 or id =
81256 or id =
102388 or id =
178472 or id =
181171 or id =
206672 or id =
222898 or id =
234014 or id =
266944 or id =
276203 or id =
281212 or id =
291510 or id =
296095 or id =
349508 or id =
397866 or id =
428645 or id =
447432 or id =
519119 or id =
551511 or id =
561224 or id =
579833 or id =
630773 or id =
643295 or id =
667836 or id =
720533 or id =
732349 or id =
759244 or id =
789373 or id =
792593 or id =
793407 or id =
836867 or id =
840617 or id =
913377 or id =
978537 or id =
988522 or id =
1071365 or id =
1079249 or id =
1086032 or id =
1107726 or id =
1120802 or id =
1129816 or id =
1150948 or id =
1227032 or id =
1229731 or id =
1255232 or id =
1271458 or id =
1282574 or id =
1315504 or id =
1324763 or id =
1329772 or id =
1340070 or id =
1344655 or id =
1398068 or id =
1446426 or id =
1477205 or id =
1495992 or id =
1567679 or id =
1600071 or id =
1609784 or id =
1628393 or id =
1679333 or id =
1691855 or id =
1716396 or id =
1769093 or id =
1780909 or id =
1807804 or id =
1837933 or id =
1841153 or id =
1841967 or id =
1885427 or id =
1889177 or id =
1961937 or id =
2027097 or id =
2037082
耗時: 0.281s
結果39條
(2) inner join
查詢語句如下:
select test.networkid , test2.id
from test inner join test2
on test.id = test2.id where test2.code = 'def7414551
'
意思是通過test2的code找到test的networkid。
耗時: 663.967s
查出39條。
查詢語句如下:
select test.networkid , test2.id
from test2 inner join test
on test.id = test2.id where test2.code = 'def7414551'
意思是通過test2的code找到test的networkid。
耗時:607.324s
查出39條。
***(3)子查詢
select networkid ,id from test where id in ( select id from test2 where code = 'def7414551')
耗時:604.142s
查出39條
查詢優化(MySQL優化查詢)
關聯查詢太多join 設計缺陷或不得已的需求 資料庫伺服器調優及各個引數設定不適當 緩衝 執行緒數等 慢查詢日誌 找出執行速度慢的sql語句 慢查詢的開啟並捕獲 explain 慢sql分析 show profile查詢sql在mysql伺服器裡面的執行細節和生命週期情況 sql資料庫伺服器的引數調...
MySQL優化 查詢優化
在每乙個消耗大量時間的查詢中,都能看到一些不必要的額外操作 某些操作被額外地重複了很多次 某些操作執行得太慢等。優化查詢的目的就是減少和消除這些操作所花費的時間。查詢效能低下最基本的原因是訪問的資料太多。所以需要考慮是否向資料庫請求了不需要的資料 1 多表關聯時,或獲取單錶資料時,盡量避免不加思考地...
mysql統計查詢優化 Mysql查詢優化
效能涉及的層面很多,但是在操作層面,主要有表結構設計優化 索引優化和查詢優化 查詢的生命週期大致可以分為,從客戶端 到服務端 在伺服器上解析 生成執行計畫 執行 返回結果給客戶端 sql執行流程 具體優化技巧 1.消除外連線 2.消除子查詢 盡量用join代替子查詢,雖說mysql查詢優化器會進行優...