我們知道,建立數據庫的索引可以提高查詢效率,節省查詢時間。但是當數據量過大的時候,用索引提高的查詢效率也就不是那麼明顯了。本文我們主要介紹一個mysql極限測試的例子,通過這個例子我們來觀察一下索引提高查詢效率的極限值。首先我們建立一個測試表,三個字段,一個id主鍵,一個test沒索引,一個tudou字段建了索引。
這是php插入數據的代碼:
- function cre_random($nLength=4)
- {
- $sDic = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
- "abcdefghijklmnopqrstuvwxyz"
- "1234567890";
- $sDic = str_repeat($sDic, ceil($nLength/strlen($sDic)));
- $sDic = str_shuffle($sDic);
- return substr($sDic, 0, $nLength);
- }
- set_time_limit(0);
- mysql_connect("localhost","root","");
- mysql_select_db("test");
- while(true)
- {
- $sql = "insert into comment(test,tudou) values ('".cre_random(10)."','".cre_random(10)."')";
- mysql_query($sql);
- }
測試結果:
1.數據到216W條的時候,不用索引的列查詢需要大概0.5秒,用了索引的字段大概2毫秒。
2.數據到300W條的時候,不用索引的列查詢需要大概0.65秒,用了索引的字段大概2.1毫秒。
注:這還不是在並發的情況下,如果並發,含有鎖沖突,等待時間加長,造成堵塞,效率也就可想而知了。
關於MySQL極限測試的知識就介紹到這裡,希望能夠帶給您一些收獲!