關於MySql資料庫設計表與查詢耗時分析

流火行者發表於2016-03-17

  本地建一張表persons,使用指令碼插入了1000萬條資料

下面比較幾種查詢方法的耗時(查詢9000000到9000005這中間5條資料)

查詢結果:

1:

SELECT * FROM test.persons limit 9000000,5;

2:

SELECT * FROM test.persons where Id_P between 9000000 and 9000005;

可見幾乎不消耗時間

3:

SELECT * FROM test.persons where Id_P in(9000000,9000001,9000002,9000003,9000004,9000005);

 

同樣不消耗時間

結論:

1:在資料較少的時候使用limit查詢看不出耗時,如果資料量過大,千萬不能再使用limit,

2:一定要通過指定主鍵索引去查詢,這也意味著:建表的時候務必新增int型別的自增主鍵

3:伺服器和客戶端的資料交換務必帶上資料索引,在客戶端重新請求資料的時候,伺服器通過該索引主鍵去查詢資料比通過其他欄位明顯要快(索引通過折半查詢,再大的資料,查詢也很快)。

相關文章