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