mssql大容量数据问题,解决了加分

来源:百度知道 编辑:UC知道 时间:2024/06/17 05:30:48
我有一个数据库mssql 2000的,里面的数据有10亿条,数据库直接为1.4G,但是我使用SQL分析查询器,查询最后一条数据都要读几分钟,还读不出来。
不知道那位仁兄熟悉SQL2000帮小弟一个忙。
一:如何才能在几秒内查询出数据。我原来的查询语句是:select top 1 id from userinfo order by id desc
二:这个数据库有1.4G能不能缩小点,日志文件只有138KB。如何缩小这个数据库。
三:百度这个搜索引擎那么多数据,为什么我们查询的时候很快,他们是怎么做的呢?
希望知道的大哥大姐们告诉小弟一下,如果能够给我解决的话,我一定加分。
其实我的字段只有3个,第一个是id,第二个是存放的用户名,第三个就是一个flag标志位,我其他就没有存放数据了。这个我要怎么办啊??

在id列上建聚集索引(簇索引)。10亿条记录如果不建聚集索引,直接进行排序会把系统弄死的。另外这么大的数据量建聚集索引的时间也会很长,做好耐心等待的准备。
删除表里不用的列来释放空间,否则没有办法。另外如果创建聚集索引的话会多占用一些空间。
如果数据库有剩余空间没有释放给系统的话可以用
dbcc shrinkdatabase ('数据库名',0)
来尽可能将数据文件缩小。

你这查询也太不合理了吧!哪有人一次查这么大容量的数据。还过建索引是一个解决的方法,好象也快不了多少,数据量太大了!看把这些数据分开存放行不,放在几个数据库中或者更有条件的话将这几个数据库放在不同的盘上,然后建索引。