【发布时间】:2012-01-25 00:10:24
【问题描述】:
我遇到了使用 activerecord_sqlserver_adapter 的 Rails activerecord 对象的性能问题。这是生成的 sql 的样子,运行速度很慢;
EXEC sp_executesql N'SELECT COUNT(*) FROM [constituents] WHERE [constituents].[constituent_id] IN (N''10016125'', N''483663'', N''530657'', N''535217'')'
以下运行速度非常快;
EXEC sp_executesql N'SELECT COUNT(*) FROM [constituents] WHERE [constituents].[constituent_id] IN (''10016125'', ''483663'', ''530657'', ''535217'')'
适配器将 N 放在 where 子句中的每个项目前面,这会减慢速度。执行计划建议我添加一个索引,但这似乎没有必要,而且这是一个遗留数据库。
有没有人建议我如何加快速度?
【问题讨论】:
-
您已经提出了 7 个问题但没有接受任何问题?
-
我回答了类似的问题here。