索引的重要性

徐州市百大超市供应商服务系统的“销售查询”模块无法正常运行,通过远程登录服务器排查。发现表数据量达五百七十多万行且无主键和索引,建立索引后速度提升。业务只需最新三月数据,清理数据并备份。新表无索引查询慢,凸显索引对数据库查询的重要性。

        昨天下午,徐州市百大超市有限公司的吉经理又打电话过来,说供应商服务系统中的"销售查询"模块无法正常运行,郁闷,难道又要跑一趟?打开计算机,使用"远程登录",竟然可以登录到他们的服务器,想起来他们最近换了光纤,也就不奇怪了,呵呵,爽,不过到时候得建议他们禁用远程登录啦,呵呵……
        言归正传,看了一下页面中的代码,没问题呀,奇怪……截取其中的SQL语句到查询分析器中执行一下,有返回结果,但竟然要用去近两分钟的时间,怎么回事?COUNT一下,发现表里面的数据已经有五百七十多万行了,运行时间太长了,每日销售明细已经到这么多了,难怪查询慢了呢。不过也不应该这么慢,呵呵,看一下表结构,没有主键倒也罢了(数据是由另外一个家伙从MIS系统导入的,没有主键也不奇怪),竟然连索引都不建,建立索引,运行速度快多了,稍微增加查询时间的限制长度和IIS页面的超时时间,基本上可以运行了,但还是比较吃力,可能是因为服务器的性能不太好吧。再分析一下业务需求,KAO,“销售查询”页面上只提供最新三个月的数据的查询,表里放那么多的数据干嘛?把情况向他们反映了一下。
        今天早上数据已经清理过了,他们建了另外一个表用以备份过期数据,看了一下,新表是没建索引的,使用COUNT计算总记录数用去1分40秒的时间,数据工三百多万条,原来的表中(我昨天建过索引)数据有二百多万条,也用COUNT计算总记录数,只耗时两秒钟,索引真的是太重要啦。索引使数据库程序无须对整个表进行扫描,就可以在其中找到所需数据,否则,机器累死也完成不了指定的查询工作。

        后记:这近六百万的数据还真是诱人呀,呵呵,拖回来研究数据仓库。icon14.gif14.gif24.gif
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值