大家都明白,建立数据库的索引可以提高查询效率,节省查询时间。但是当数据量过大的时候,用索引提高的查询效率也就不是那么明显了。该篇文章我们主要介绍一个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极限测试的知识就介绍到这里,希望能够带给您一些收获!