我使用LINQ在包含2000万行的数据库表上进行DateTime
比较(在开始和结束DateTime
之间)查询。该表的主键是Id
类型的自动增量int
。没有其他钥匙。
目前,查询需要5分钟以上才能获得30分钟的数据。随着表变大,查询变得越来越慢。
我可能会做出哪些明显的数据库架构更改,这会显着提高这些查询的性能并在表继续增长时稳定它们?
分区会有帮助吗?或者可能使DateTime
字段成为关键字?
答案 0 :(得分:2)
在日期字段上放置索引,如果您需要在ID字段上进行排序或额外查找,则可选择包括ID字段。这就是INDEX的用途,加快查找,排序等。看看这篇文章以获得更多解释:SQL Server Index Design Guide(technet.microsoft.com)。