MySQL极限测试:索引提高的效率_MySql_数据库_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 数据库 > MySql > MySQL极限测试:索引提高的效率

MySQL极限测试:索引提高的效率

 2013/8/10 3:30:03    程序员俱乐部  我要评论(0)
  • 摘要:我们知道,建立数据库的索引可以提高查询效率,节省查询时间。但是当数据量过大的时候,用索引提高的查询效率也就不是那么明显了。本文我们主要介绍一个mysql极限测试的例子,通过这个例子我们来观察一下索引提高查询效率的极限值。首先我们建立一个测试表,三个字段,一个id主键,一个test没索引,一个tudou字段建了索引。这是php插入数据的代码:functioncre_random($nLength=4){$sDic="ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  • 标签:索引 测试 SQL 效率 MySQL

我们知道,建立数据库的索引可以提高查询效率,节省查询时间。但是当数据量过大的时候,用索引提高的查询效率也就不是那么明显了。本文我们主要介绍一个mysql极限测试例子,通过这个例子我们来观察一下索引提高查询效率的极限值。首先我们建立一个测试表,三个字段,一个id主键,一个test没索引,一个tudou字段建了索引。

这是php插入数据的代码:

    class="dp-xml">
  1. function cre_random($nLength=4)  
  2.  
  3. {  
  4.  
  5. $sDic = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" 
  6.  
  7. "abcdefghijklmnopqrstuvwxyz"  
  8.  
  9. "1234567890";  
  10.  
  11. $sDic = str_repeat($sDic, ceil($nLength/strlen($sDic)));  
  12.  
  13. $sDic = str_shuffle($sDic);  
  14.  
  15. return substr($sDic, 0, $nLength);  
  16.  
  17. }  
  18.  
  19. set_time_limit(0);  
  20.  
  21. mysql_connect("localhost","root","");  
  22.  
  23. mysql_select_db("test");  
  24.  
  25. while(true)  
  26.  
  27. {  
  28.  
  29. $sql = "insert into comment(test,tudou) values ('".cre_random(10)."','".cre_random(10)."')";  
  30.  
  31. mysql_query($sql);  
  32.  

测试结果:

1.数据到216W条的时候,不用索引的列查询需要大概0.5秒,用了索引的字段大概2毫秒。

2.数据到300W条的时候,不用索引的列查询需要大概0.65秒,用了索引的字段大概2.1毫秒。

注:这还不是在并发的情况下,如果并发,含有锁冲突,等待时间加长,造成堵塞,效率也就可想而知了。

关于MySQL极限测试的知识就介绍到这里,希望能够带给您一些收获!

发表评论
用户名: 匿名