0

主要问题是在我的 sp 中有不同的对象和逻辑可能导致性能不足。

我在我的 SP 上看到的东西以及 SP 1-Temp 表中正在使用的表,如下所示;(2个临时表)

创建表#TEMP_TABLE(AB INT NOT NULL,AC INT NOT NULL,AD INT NOT NULL,AF INT NULL,AG INT NULL,REFERENCE_NUMBER INT NULL)在#TEMP_TABLE(AB,AC,AD)上创建非聚集索引 IX_1

2- 将进程插入到创建临时表中作为 SP 中的 TEMP1

3- DROP TABLE #TEMP_TABLE DROP TABLE #TEMP_TABLE2 在 SP 的末尾

4-有两个表用于连接自己,但不是所有使用 JOIN 运算符的“on”情况的字段。例如; 在第一个表上声明了聚集索引字段,加上不在第一个表的聚集索引组中的日期列..

简称;聚集和非聚集索引很重要,但我应该按什么顺序声明它们。我需要哪种索引类型,告诉我创建索引的顺序,以便进一步使用 JOIN 过程等。

5-我应该使用表变量而不是临时表。好的,它会更好,但是有很多问号不允许我使用表变量..

*插入到表变量中不会利用并行性。 参考->

6-我听说过逻辑阅读。我真的应该关心这些数字吗?示例数据结果的详细信息如下所示 (*)

7-执行计划...

执行计划

*输出:

表“频道”。扫描计数 0,逻辑读取 2,物理读取 0,预读读取 0,lob 逻辑读取 0,lob 物理读取 0,lob 预读读取 0。表 'XYZ_DATE'。扫描计数 1,逻辑读取 2,物理读取 0,预读读取 0,lob 逻辑读取 0,lob 物理读取 0,lob 预读读取 0。表 'XYZ01'。扫描计数 3171,逻辑读取 13135,物理读取 153,预读读取 0,lob 逻辑读取 0,lob 物理读取 0,lob 预读读取 0。表 'XYZ02'。扫描计数 5,逻辑读取 51256,物理读取 0,预读读取 0,lob 逻辑读取 0,lob 物理读取 0,lob 预读读取 0。表 '#TEMP_TABLE______________________________________________________________________________________________000000000840'。扫描计数 0,逻辑读取 97,物理读取 0,预读读取 0,lob 逻辑读取 0,lob 物理读取 0,lob 预读读取 0。表“工作表”。扫描计数 0,逻辑读取 0,物理读取 0,预读读取 0,lob 逻辑读取 0,lob 物理读取 0,lob 预读读取 0。

(受影响的 32 行)表“#TEMP_TABLE2________________________________________________________________________________________________________000000000841”。扫描计数 0,逻辑读取 64,物理读取 0,预读读取 0,lob 逻辑读取 0,lob 物理读取 0,lob 预读读取 0。表 ''XYZ03'。扫描计数 0,逻辑读取 107,物理读取 0,预读读取 0,lob 逻辑读取 0,lob 物理读取 0,lob 预读读取 0。表“XYZ04”。扫描计数 32,逻辑读取 129,物理读取 0,预读读取 0,lob 逻辑读取 0,lob 物理读取 0,lob 预读读取 0。表 '#TEMP_TABLE________________________________________________________________________________________________________000000000840'。扫描计数 1,逻辑读取 1,

(21 行受影响)

(受影响的 21 行)表 'XYZ05'。扫描计数 0,逻辑读取 87,物理读取 0,预读读取 0,lob 逻辑读取 0,lob 物理读取 0,lob 预读读取 0。表 'XYZ01A'。扫描计数 21,逻辑读取 147,物理读取 0,预读读取 0,lob 逻辑读取 0,lob 物理读取 0,lob 预读读取 0。表 'XYZ04'。扫描计数 0,逻辑读取 84,物理读取 0,预读读取 0,lob 逻辑读取 0,lob 物理读取 0,lob 预读读取 0。表 '#TEMP_TABLE2_____________________________________________________________________________________________000000000841'。扫描计数 1,逻辑读取 1,物理读取 0,预读读取 0,lob 逻辑读取 0,lob 物理读取 0,lob 预读读取 0。

(*)

4

1 回答 1

0

我确实放了一些索引,然后扫描正在寻找..现在更好了。

仍在进行性能测试:按照此处->测试存储过程性能

于 2010-02-24T09:01:51.487 回答