我正在基於sql查詢生成頁面。來自sql數據庫的緩存結果,還是每次查詢?
這是查詢:
CREATEPROCEDURE sp_searchUsersByFirstLetter
@searchQuery nvarchar(1)
AS
BEGIN
SET NOCOUNT ON;
SELECT UserName
FROM Users Join aspnet_Users asp on Users.UserId = asp.UserId
WHERE (LoweredUserName like @searchQuery + '%')
我可以調用這個過程字母表中的每個字母,並得到所有以該字母開頭的用戶。然後,我將這些用戶列入我的一個網頁的列表中。
我的問題是這樣的:將用戶列表緩存到我的web服務器,而不是每次查詢數據庫會更好嗎?像這樣:
HttpRuntime.Cache.Insert("users", listOfUsersReturnedFromQuery, null, DateTime.Now.AddHours(1), System.Web.Caching.Cache.NoSlidingExpiration);
對於我來說,如果用戶列表是一個過時的小時,對我來說還可以。每次查詢數據庫會更高效嗎?