SQL2000数据库,如何提高对一个庞大的表的查询速度

[复制链接]
查看11 | 回复4 | 2010-7-7 20:36:59 | 显示全部楼层 |阅读模式
这个表有1千多万条的记录,有20多个字段,其中id是不重复、自动增加的。
每次进行一条普通的条件查询都得需要20分钟以上(例如:select * from abc where num='123456789' order by id desc),请问如何做才能增加查询速度呢?
网上的方法我找过了,写的太多,并且笼统,也不具体,什么换设备等等太不靠谱。所以就请不要在复制粘贴了,以免浪费时间。
请会做的朋友给出一个有较的具体方法。成功后会追加分数。
先谢了~

回复

使用道具 举报

千问 | 2010-7-7 20:36:59 | 显示全部楼层
你经常查询的,经常分组的,经常判断的字段,必须加索引,增加索引后,查询速度会大幅度提高,但是插入,更新,删除速度会变慢,总而言之,总有一个慢,你权衡是数据插入,更新,删除多还是查询多,决定是否增加索引,非经常查询字段就不要增加索引了,以免浪费数据空间和增加插入,更新,删除的时间另外,如果数据按时间增长,由于你使用的是SQL2000,建议将大表拆开每日保存一张日表,缩小单张表的大小,在表内查询就会快很多(因为读进内存的数据小多了),实现分区的功能;如果使用SQL2005,则数据库可以直接支持分区这样就没有问题了,我们这处理的数据每天4000万行,保存了50天数据,查询起来也只要5分钟
回复

使用道具 举报

千问 | 2010-7-7 20:36:59 | 显示全部楼层
在你要查询的关键字段建立索引
回复

使用道具 举报

千问 | 2010-7-7 20:36:59 | 显示全部楼层
路过, 网上的方法你都不看,哪里有现成的?
回复

使用道具 举报

千问 | 2010-7-7 20:36:59 | 显示全部楼层
加索引
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行