我有一个应用程序,其中指令说它不适用于具有多个字段的聚集索引。无法抗拒测试,这是真的。如果我添加一个包含 2 个字段的聚集索引,该应用程序就会陷入无休止的 lopp 中。
我认为索引是数据库内部的东西,不会影响应用程序。在聚集索引的情况下如何编写不起作用的 sql?
该应用程序正在使用 sql server 2005
我有一个应用程序,其中指令说它不适用于具有多个字段的聚集索引。无法抗拒测试,这是真的。如果我添加一个包含 2 个字段的聚集索引,该应用程序就会陷入无休止的 lopp 中。
我认为索引是数据库内部的东西,不会影响应用程序。在聚集索引的情况下如何编写不起作用的 sql?
该应用程序正在使用 sql server 2005
是聚集索引还是您合成的主键?这些有时在 SQL Server 中被视为同义词,即使一个是域关系(主键)而另一个(聚集索引)是实现细节。
某些 ORM 不适用于复合主键。
数据库是否启用了定期安排的维护计划?您是否手动运行DBCC CHECKDB?
这可能表明应用程序使用有关表上索引的元数据来动态创建代码 - 例如,我拥有的审计触发器生成脚本需要单列主键。但这当然与聚集索引不同。
可能不值得进一步调查,因为它是任何应用程序中的记录限制,但如果您需要对其进行逆向工程,您可以使用分析器查看此循环中发生了什么。