当您有一个需要性能调优的查询或存储过程时,您尝试的第一件事是什么?
如果要在存储过程中创建临时表并希望在其上添加一个或两个索引,以提高针对它的任何其他语句的性能,最佳方法是什么?SYBASE说这个:
"创建索引时,表必须包含数据.如果创建临时表并在空表上创建索引,Adaptive Server不会创建列统计信息(如直方图和密度).如果在创建索引后插入数据行,优化器的统计数据不完整."
但是最近一位同事提到,如果我在不同的存储过程中创建临时表和索引到实际使用临时表的那个,那么Adaptive Server优化器将能够使用它们.
总的来说,我不是那些增加价值的包装程序的忠实粉丝,所以我实际上并没有去测试这个,但我想我会把问题放在那里,看看是否还有其他任何人方法或建议?
我已经在一个网络项目(asp.net)工作了大约六个月.最终产品即将投入使用.该项目使用SQL Server作为数据库.我们已经做了性能测试与一些大容量的数据,结果表明,当数据过大,性能会下降,如2万行(超时问题,延迟反应变量等).起初我们使用完全normailized数据库,但现在我们把它归部分由于性能问题(以减少联接).首先,这是正确的决定吗?另外,当数据量变得非常大时,可能的解决方案是什么?客户未来会增加多少?
我想进一步补充:
database sql-server performance database-design query-optimization
database ×2
performance ×2
sql-server ×2
indexing ×1
sql ×1
sybase-ase ×1
t-sql ×1
temp-tables ×1