处理并发---索引的优点

来源:未知 责任编辑:责任编辑 发表时间:2013-12-06 08:46 点击:

1,测试验证用到的简单的sql语句: 
/* Formatted on 2010-6-29 11:56:58 (QP5 v5.115.810.9015) */ 
SELECT   * 
  FROM   (SELECT   row_.*, ROWNUM rownum_ 
            FROM   (SELECT   "order_date" 
                      FROM   "test" 
                     WHERE   "order_no" = 
                                TRUNC (DBMS_RANDOM.VALUE (24, 50024))) row_ 
           WHERE   ROWNUM <= 20) 
WHERE   rownum_ > 0 
 
2,数据准备说明 
a,本次对一个有5个字段的表test进行基本测试,验证两种情况:一,字段order_no有索引;二,字段order_no无所有,有无索引时做相同的测试验证 
   b,相应时间单位:ms 
   c,测试验证分同时并发和分钟并发两种情况验证 
   d,表中有50000条数据 
3,测试得到的数据 
 
同时并发 
10并发 50并发 80并发 100并发 
无索引 756 2109 3053 3723 
有索引 357 385 413 430 
 
分钟并发 
200并发 500并发 1000并发 1500并发 
无索引 255 260 10702 33163 
有索引 4 3 1 4 
 
4,结论总结 
1,500以下的并发,有无索引,用户不会有太明显的感觉,www.2cto.com因为他们的执行时间都不会大于0.3s 
2,以“较高(500~3000)”并发频率对50000数据的表进行简单的查询,此时有无索引就会有明显的差别,可以达到5s以上 
3,以“极高(>3000)”并发频率对50000数据的表进行简单的查询,此时相应时间就会很慢,很慢 
 
    结合实际应用考虑,一些简单的表(字段不太多,结果不复杂),在单个用户反复执行sql语句时,有无索引对用户来说可能体验不到响应时间上的差异,而对于多用户并发对这个表做操作时,有无索引的差异就会很明显:在“较低”频率并发情况下,由于表比较简单,响应时间很小,看不出大的差异,当并发频率“较高”,如大于500时,这种差异就会很明显,如上面1500的并发,响应时间相差3s,依此类推,如果表字段很多,嵌套结构复杂,有无索引并发执行的差异将会很大,有些认知,觉得数据量少,字段少无需索引,单考虑并发性能还是把索引建上
 

 



 
作者 wangting424
    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • Request.ServerVariables 参数大全
    • 执行全文索引时出现权限不足的解决方法
    • 导入excel文件处理流程节点的解决方案
    • 查看sql修改痕迹(SQL Change Tracking on Table)
    • MongoDB安装为Windows服务方法与注意事项
    • App数据层设计及云存储使用指南
    • PostgreSQL启动过程中的那些事三:加载GUC参数
    • 写给MongoDB开发者的50条建议Tip1
    • Percolator与分布式事务思考(二)
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1