我有表緩慢的存儲過程的查詢
Book:
Id | Name | ...
UrlRecord:
Id | EntityId | Entityname | Slug >> to store id-less url for many other tables like Category | Book | BookChapter...
所以數據巨大。
ENTITYID =>包含標識在其他表等BOOKID,類別ID,chapterId ...
Id EntityId Entityname Slug
1 2 Category truyen-tranh
2 2 BookChapter chapter-one
....
SearchBookDetails存儲過程:
SELECT p.Source,
(SELECT Slug from UrlRecord url where EntityName = 'Category' and EntityId = (SELECT top(1) CategoryId from Book_Category_Mapping bc where bc.BookId = p.Id)
) as CategorySeName
FROM ....
性能非常慢,如果我有上面的CategorySeName子句,最多22秒,因爲這是一個沉重的查詢。
但是,我不知道如何提高性能,並仍然像上面那樣返回CategorySeName值。
您是否試圖獲得查詢計劃?你很可能需要一個索引(EntityId,EntityName) – Bas
C#與這個問題有什麼關係? –
表中的索引是否包含在'WHERE'子句中使用的'WHERE'子句中使用的所有列? –