有一張資料表,存盤大概100w左右的資料。這是sql陳述句:
select * from data_value where data_point_id ='41607' order by create_time desc limit 0,1;
目前表里只有(除主鍵外)data_point_id一個索引
explain結果:

查詢耗時:

添加聯合索引:data_point_id,create_time
alter table data_value add index myindex (data_point_id,create_time)
explain結果:

查詢耗時: '0.00032400', 'explain select *from data_value where data_point_id =\'41607\' order by create_time desc limit 0,1'
速度反而下降了好多,這是為何
uj5u.com熱心網友回復:
是不是你未加索引的時候那個陳述句也執行了多次,這并不是第一次執行的結果?有cache的時候,再次執行速度也是很快的。另外,這個速度本來就不慢,再加上每次查詢的時候系統資源調度情況并不是一樣的,有波動也是正常的。
uj5u.com熱心網友回復:
補充一下,要想做性能對比測驗,資料量要足夠大,100萬根本不算什么,更何況41607這個條件的結果才11萬,這么少的資料,在電腦性能很好的情況下根本對比不出來的。轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/36808.html
標籤:MySQL
上一篇:關于資料鏈接報錯的問題
