我有一个关于如何优化我的sp的问题,实际上它是一个视图,但我决定改变sp以使其更快,并且它确实有效。首先,视图运行需要27秒,sp。需要16秒。所以它越来越好,但如何让它更好?优化存储过程
我正在运行的表格是600条记录,我将返回80个字段和80个字段,其中4个字段是图像。每张唱片的容量不能超过400KB。
任何建议我能做些什么。
我有一个关于如何优化我的sp的问题,实际上它是一个视图,但我决定改变sp以使其更快,并且它确实有效。首先,视图运行需要27秒,sp。需要16秒。所以它越来越好,但如何让它更好?优化存储过程
我正在运行的表格是600条记录,我将返回80个字段和80个字段,其中4个字段是图像。每张唱片的容量不能超过400KB。
任何建议我能做些什么。
您是否尝试过为SPROC调用的查询实现适当的索引? 另请参阅执行计划并查看哪些类型的索引可以最适合查询。 最后,更新表和索引统计信息并检查索引上的碎片以获取任何性能匹配。
我试过做索引,我用非集群和覆盖索引但没有改进,同样的事情,16秒。我用发动机的调音顾问分析了这张桌子,并没有提出任何推荐。 – Tony 2010-10-26 19:10:59
你说你试过使用覆盖索引,这对于包含图像的80列的表是一个不错的主意。但是,你说这不适用于图像。我建议你分开这张桌子,即使你只是制作几张1到1张桌子。 select * from ...
中的“*”没有多大帮助。只返回你需要的列。另外,WHERE
呢?尽管仅返回所需的列很重要,但仅返回所需的行更为重要。如果您没有WHERE
条款,那么世界上的所有指数都无济于事。
感谢KM,我知道,但我对SQL方面负责,并且应用程序需要所有行,我建议使用前端的人来调用一个字段,但他希望拥有所有内容,所以我被卡住了。 。 – Tony 2010-10-26 19:55:35
“表,我跑我的SP是600分的记录,我回到大约80场进出80,4场是图像”
如果我是你,我早就把图像转换成文件系统及其在数据库中的索引路径。
此外,我会查明图像really cached by your webbrowser
感谢vgv,但这是针对SQL 2008的? – Tony 2010-10-27 17:41:35
你必须向我们展示了代码... – Fosco 2010-10-26 18:02:05
呀。真。另外我怀疑是否让它变得更快 - 你做了另一个你完全没有意识到的变化。向我们展示两个代码示例。对于600条记录的数据检索,27秒和16秒的速度非常慢。像真的很慢。我怀疑你那时需要600个图像位图。 – TomTom 2010-10-26 18:03:18
回应以上;即使你的查询需要进行表扫描,包括读取这些图像的每个字节以对谓词进行测试,16秒看起来就像是一个懒惰时间。我们不仅需要查看代码,还需要了解一些关于数据库结构的知识。当然.. 80个字段... – 2010-10-26 18:09:07