SQL语句如下:select AGUID,BGUID from dbo.User
这句话执行时间2分钟,我无语了
从查询分析器里可以看到大概1秒1万左右的数据出来,全下来,要1:57分。75万条数据。
表结构如下
AGUID uniqueidentifier PK 聚集索引(什么时候加的忘记了,好像自动加上去的)
BGUID uniqueidentifier FK
CGUID uniqueidentifier
DGUID uniqueidentifier
EGUID uniqueidentifier
A     int
B     int
C     int
D     int
AV    varchar(30)
BV    varchar(50)
CV    varchar(50)
DV    varchar(500)
ANV   varchar(150)
BNV   varchar(150)
AT    text   
AD    datetime
BD    datetime
AF    float

解决方案 »

  1.   

    select AGUID,BGUID from dbo.User可能是机器太烂了
      

  2.   

    CPUIntel Xeon E5405 2.0G    四块
    4G 内存
      

  3.   

    我试了一下,换了一个句子select top 100000 AGUID from dbo.User where AGUID= ‘D4D77D97-B73F-49DD-8031-C17D6DE9F395’都要1分钟。。
      

  4.   

    没有where,慢是正常的。
    --
    这样想,比如你拿着圣经,想要看第10000页和10010页的内容。
    你让数据库的操作方式好比从第1页开始翻,一直翻到100000页。
    用where的方式,好比先看看10000的页码,再翻。
      

  5.   

    1.首先,查询75w条数据,索引是没用的,因为超过表10%的数据,就不会走索引了
    2.查看一下你的服务器配置是不是太低了
    3.sql server的内存是不是太小了
    4.磁盘的io是不是有问题
    5.存在碎片
      

  6.   

    换了一台服务器,没那么慢了
    谢谢各位。
    是CPU瓶颈了