我有一个大型数据库,其中包含超过20万条记录的表格,从PostQuery
中选择的速度越来越慢。我正在使用Entityframework 6.0和MS SQL Server 2014
结构:
PostId UNIQUEIDENTIFIER
PostQuery NVARCHAR(100)
PostData NVARCHAR(MAX)
我的代码:
public PostViewModel GetPost(string post_query)
{
var mb = db.Posts.Where(p => p.PostQuery == post_query).SingleOrDefault();
if (mb == null) return null;
return new PostViewModel
{
PostId = mb.PostId,
PostData = mb.PostData
};
}
我的网址与http://example.com/post/post_query/类似(超过150k的网址已被Google编入索引,因此我无法更改网址结构)
我还是大型数据库的新手。我该怎么办?
请帮助我加快我的网站速度。感谢
UPDATE1:
正如戴建议我使用“显示实际执行计划”
运行查询查询:
SELECT PostId, PostData
FROM Post
WHERE (PostQuery = 'example-query')
UPDATE2:
正如DavidG建议我将索引设置为CREATE INDEX IX_Posts_PostQuery ON Posts (PostQuery)
并在管理工作室再次运行上述查询。
还有什么事需要做吗?