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