当前位置:  开发笔记 > 编程语言 > 正文

在T-SQL中最好地使用临时表上的索引

如何解决《在T-SQL中最好地使用临时表上的索引》经验,为你挑选了1个好方法。

如果要在存储过程中创建临时表并希望在其上添加一个或两个索引,以提高针对它的任何其他语句的性能,最佳方法是什么?SYBASE说这个:

"创建索引时,表必须包含数据.如果创建临时表并在空表上创建索引,Adaptive Server不会创建列统计信息(如直方图和密度).如果在创建索引后插入数据行,优化器的统计数据不完整."

但是最近一位同事提到,如果我在不同的存储过程中创建临时表和索引到实际使用临时表的那个,那么Adaptive Server优化器能够使用它们.

总的来说,我不是那些增加价值的包装程序的忠实粉丝,所以我实际上并没有去测试这个,但我想我会把问题放在那里,看看是否还有其他任何人方法或建议?



1> AJ...:

一些想法:

如果您的临时表太大而无法对其进行索引,那么有更好的方法来解决问题吗?

您可以通过提供以下格式的优化器提示强制它使用索引(如果您确定索引是访问表的正确方法):

SELECT * 
FROM   #table (index idIndex) 
WHERE  id = @id

如果您对一般的性能提示感兴趣,我在这里已经回答了一些其他问题:

最喜欢的性能调整技巧

如何针对特定查询优化表?

推荐阅读
我我檬檬我我186
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有