为什么查询这么慢!!

hanwen 2004-12-24 01:33:43
有主从表table_master,table_detail,主表大概2000条数据,从表8000左右。主表有40个字段,有日期型、整型等,主要是varchar型,另有三个image型;从表有12个字段全是varchar的。主表ttno是主键,聚族索引,从表ttno+自动编号作主键,聚族索引。主从表没做任何关连、触发器、约束。
现在在sql query中做 select * from table_master with(nolock)或者select * from table_master with(nolock)竟然要近三分钟,而对从表这样做只要3秒就可以了?(当然在应用程序做查询就更慢了…) 为什么?另个这样的查询在另一个非常主从表的表上做,30多万条数据也是10秒左右,这个表只是没有image,其它结构基本一样。
我已经从建过这两个主从表了,问题还是一样。天啊
...全文
199 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiang130 2004-12-28
  • 打赏
  • 举报
回复
存儲過程處理循環好象很慢的,幫你頂,我也學習
jiang130 2004-12-28
  • 打赏
  • 举报
回复
存儲過程有時也很慢的
leileisoft 2004-12-27
  • 打赏
  • 举报
回复
要想快,只有写成存储过程。
相信用存储过程之后,你会有一个惊喜。
试试吧
jim138 2004-12-26
  • 打赏
  • 举报
回复
应该是IMAGE的问题,另外,主表的字段个数是否太多了点?
应该应用范式理论优化一下.
chinaandys 2004-12-24
  • 打赏
  • 举报
回复
image这是个坏东东,其实是可以用文件名、路径字符串的形式存好些.
chriswu 2004-12-24
  • 打赏
  • 举报
回复
可能是image的问题吧
把它改成路径应该快多了
你先搞个小的表,试试看!
cgsun 2004-12-24
  • 打赏
  • 举报
回复
表ttno是主键,聚族索引,重件索引
hanwen 2004-12-24
  • 打赏
  • 举报
回复
但是 select *(除了image的) from table_master 还是一样慢啊
LBYYBL 2004-12-24
  • 打赏
  • 举报
回复
image能否只存文件的路径
vinsonshen 2004-12-24
  • 打赏
  • 举报
回复
磁盘的I/O 操作的多少影响了查询的快慢~~~
子陌红尘 2004-12-24
  • 打赏
  • 举报
回复
select * from 主表会把包括image字段在内的所有数据都从磁盘的数据页中读到内存中来,速度的快慢自然取决于image字段的大小,因为磁盘的I/O是导致查询缓慢的主要原因。

select 主表中除 image 字段以外的其他数据会很快。

27,580

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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