小编Bla*_*olf的帖子

即使使用非聚集索引和全文索引,SE​​LECT 查询也很慢

我试图从表中查询 0 到 65,000 行。

服务器使用的是Microsoft SQL Server 2014,我无法更改服务器上的硬件。

架构

[Id] (PK)        INT      
[varchar1]  VARCHAR(4)     Normal Cardinality
[varchar2]  VARCHAR(250)   Normal Cardinality
[varchar3]  VARCHAR(250)   Normal Cardinality
[varchar4]  VARCHAR(100)   Normal Cardinality
[date1]     DATETIME       High Cardinality
[varchar5]  VARCHAR(100)   Low Cardinality
[varchar6]  VARCHAR(1000)  Normal Cardinality
[varchar7]  VARCHAR(100)   Normal Cardinality
[varchar8]  VARCHAR(20)    Normal Cardinality
[varchar9]  VARCHAR(100)   High Cardinality
[xml1]      XML            Low Cardinality
Run Code Online (Sandbox Code Playgroud)

询问

以下查询是存储过程的一部分(其余部分无关紧要,因为它对存储过程的性能影响不大)。列名称已替换为列类型和编号:

SELECT   [varchar1]
       , [varchar4]
       , [date1]
       , [varchar5]
       , [varchar6]
       , [varchar7]
       , [varchar8]
       , [varchar9]
       , [xml1]
FROM [database].[dbo].[table] WITH …
Run Code Online (Sandbox Code Playgroud)

sql-server stored-procedures t-sql sql-server-2014

8
推荐指数
1
解决办法
2200
查看次数