SQL的性能如此不堪???

wzrain 2002-07-09 03:01:26
我有个库现有记录40万条左右,但它的体积不小已经接近20G,因为其中有的字段存有文件,现在我查询一条记录估计要超过1分钟,难道SQL2000企业版的性能如此不堪???还是我做的库有问题?
这个库估计有500多万条记录,这样下去其不是连打开都困难了???
...全文
56 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
zqllyh 2002-07-10
  • 打赏
  • 举报
回复
dbcc checkdb 这个命令有可能对表的查询会有改善。
neosu 2002-07-09
  • 打赏
  • 举报
回复
一定是索引没建好
louis001 2002-07-09
  • 打赏
  • 举报
回复
你应先优化一下数据库,然后可将部分数据可建立更改为READONLIY即可
nuaalfm 2002-07-09
  • 打赏
  • 举报
回复
你可以利用查询分析器的执行计划看看你的查询sqlserver是怎么处理的,然后建立相应的索引,可能会好点
foolishchao 2002-07-09
  • 打赏
  • 举报
回复
同意 玩玩儿

将 text、ntext 和 image 字段存储在另外的文件组中。
查询的时候尽量不要取text、ntext 和 image 字段,在确实要打开这个字段时再单独提交一个查询语句到数据库里把它查出来。
不要为了方便,用 select * from table1

TEXTIMAGE_ON
是表示 text、ntext 和 image 列存储在指定文件组中的关键字。如果表中没有 text、ntext 或 image 列,则不能使用 TEXTIMAGE ON。如果没有指定 TEXTIMAGE_ON,则 text、ntext 和 image 列将与表存储在同一文件组中。

wzrain 2002-07-09
  • 打赏
  • 举报
回复
谢谢大家的支持,有什么好的方法欢迎发言,我明天结帐:)
remanwang 2002-07-09
  • 打赏
  • 举报
回复
给数据库另外加一个文件组(FileGroup),其中指定的文件(.ndf)放在另外一个硬盘上。将这个表的text和image字段放在这个文件组上。
查询的时候尽量不要取text和image字段,在确实要打开这个字段时再单独提交一个查询语句到数据库里把它查出来.
Yang_ 2002-07-09
  • 打赏
  • 举报
回复
要想快一点,先要找出问题:
1、应用程序(主要是对数据库的存取方式)
2、索引(有没有、有没有优化)
3、网络速度
4、服务器配置

Yang_ 2002-07-09
  • 打赏
  • 举报
回复
要想快一点,先要找出问题:
1、应用程序(主要是对数据库的存取方式)
2、索引(有没有、有没有优化)
3、网络速度
4、服务器配置

datura_x 2002-07-09
  • 打赏
  • 举报
回复
你的问题我想到如下调整,不妨一试:
1、根据记录的需要调整字段及其大小,可用字典项的用字典项,可以有效地减少空间并提高效率。
2、根据查询需要建立相应的索引。这一点非常重要。结构与查询优化好了,数据库不怕大。
3、你的库有4K的大文本,可以改用TEXT类型试试看,若有大量在线写,或是大量灌数据时,不妨把库的属性设为truncate log on checkpoint。
4、适当地调整SQLSERVER的配置,比如,锁的数量、内存等等。可以找以前的有关优化的贴子看看。
Yang_ 2002-07-09
  • 打赏
  • 举报
回复
要想快一点,先要找出问题:
1、应用程序(主要是对数据库的存取方式)
2、索引(有没有、有没有优化)
3、网络速度
4、服务器配置

liaomu 2002-07-09
  • 打赏
  • 举报
回复
你建索引了吗?
40w的记录20g太夸张了,你要好好检查哦。
我的一个记录110报警记录的程序都一年多了都没到1g。
wzrain 2002-07-09
  • 打赏
  • 举报
回复
跑题了,问题是如何让它跑的快点
Yang_ 2002-07-09
  • 打赏
  • 举报
回复
呵呵,你夸大了!
照你的算,不止20G了.
wzrain 2002-07-09
  • 打赏
  • 举报
回复
库里存有文件,大约有三分之二的记录有文件,每个文件有几百K大小,库应该有多大?
Yang_ 2002-07-09
  • 打赏
  • 举报
回复
存量问题不一定,因为你放了一些文件在数据库里,可能用的TEXT或者IMAGE字段,文件的大小谁也说不清楚(多少都有可能).
hanwen 2002-07-09
  • 打赏
  • 举报
回复
是不临时表里面放了很多数据据啊,40万条数据左右最多几百兆。
收缩一下你的数据库,删除多余的记录吧
prjM 2002-07-09
  • 打赏
  • 举报
回复
收缩一下你的数据库。在数据库属性中设置为自动收缩,或者用语句试一下。好象是sp_shinkdb。
prjM 2002-07-09
  • 打赏
  • 举报
回复
40万条左右体积不可能接近20G,1G也不会达到。肯定是你的设计或者管理的问题。看看数据库优化方面的内容。
chenlj188 2002-07-09
  • 打赏
  • 举报
回复
你应该用分析器优化你的查询语句
加载更多回复(6)

34,575

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧