关闭

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

发表于:2011-7-28 09:44

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:田忌赛马    来源:51Testing软件测试网采编

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

  这是php插入数据的代码:

  1. function cre_random($nLength=4)  
  2. {  
  3. $sDic = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" 
  4. "abcdefghijklmnopqrstuvwxyz"  
  5. "1234567890";  
  6. $sDic = str_repeat($sDic, ceil($nLength/strlen($sDic)));  
  7. $sDic = str_shuffle($sDic);  
  8. return substr($sDic, 0, $nLength);  
  9. }  
  10. set_time_limit(0);  
  11. mysql_connect("localhost","root","");  
  12. mysql_select_db("test");  
  13. while(true)  
  14. {  
  15. $sql = "insert into comment(test,tudou) values ('".cre_random(10)."','".cre_random(10)."')";  
  16. mysql_query($sql);  
  17. }

  测试结果:

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

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

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

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

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号