索引?最点型的下面那个存储过程: 麻烦帮我优化看看,,,十分感激了,,,CREATE PROCEDURE [dbo].cs_Sections_Get ( @SettingsID int, @ApplicationType smallint = 0, @AllowInactive bit = 0, @IncludePostTypeCounts bit = 0 ) AS SET Transaction Isolation Level Read UNCOMMITTED -- Return all the forums SELECT F.SectionID, F.SettingsID, F.IsActive, F.ParentID, F.GroupID, F.Name, F.NewsgroupName, F.Description, F.DateCreated, F.Url, F.IsModerated, F.DaysToView, F.SortOrder, F.TotalPosts, F.TotalThreads, F.DisplayMask, F.EnablePostStatistics, F.EnablePostPoints, F.EnableAutoDelete, F.EnableAnonymousPosting, F.AutoDeleteThreshold, F.MostRecentPostID, F.MostRecentThreadID, F.MostRecentThreadReplies, F.MostRecentPostSubject, F.MostRecentPostAuthor, F.MostRecentPostAuthorID, F.MostRecentPostDate, F.PostsToModerate, F.ForumType, F.IsSearchable, F.ApplicationType, F.ApplicationKey, F.Path, F.PropertyNames as SectionPropertyNames, F.PropertyValues as SectionPropertyValues, F.DefaultLanguage, F.DiskUsage
----------------------------------------------- ,F.GalleryID ------------------------------------------------------FROM cs_Sections F WHERE SettingsID = @SettingsID AND --(IsActive = 1 OR 1 = @AllowInactive) AND ApplicationType = @ApplicationType--Declare @AnonID int --exec cs_GetAnonymousUserID @SettingsID, @AnonID outputexec cs_Section_Permissions_Get @SettingsID, 0, @ApplicationType--Return the counts of each post type IF @IncludePostTypeCounts > 0 BEGIN SELECT F.ApplicationKey, P.ApplicationPostType, Count(*) as PostCount FROM cs_Sections F JOIN cs_Posts P on F.SectionID = P.SectionID WHERE F.SettingsID = @SettingsID AND F.ApplicationType = @ApplicationType GROUP BY F.ApplicationKey, P.ApplicationPostType ENDGO 如何建立?
麻烦帮我优化看看,,,十分感激了,,,CREATE PROCEDURE [dbo].cs_Sections_Get
(
@SettingsID int,
@ApplicationType smallint = 0,
@AllowInactive bit = 0,
@IncludePostTypeCounts bit = 0
)
AS
SET Transaction Isolation Level Read UNCOMMITTED
-- Return all the forums
SELECT
F.SectionID, F.SettingsID, F.IsActive, F.ParentID, F.GroupID, F.Name, F.NewsgroupName, F.Description, F.DateCreated, F.Url, F.IsModerated,
F.DaysToView, F.SortOrder, F.TotalPosts, F.TotalThreads, F.DisplayMask, F.EnablePostStatistics, F.EnablePostPoints, F.EnableAutoDelete, F.EnableAnonymousPosting,
F.AutoDeleteThreshold, F.MostRecentPostID, F.MostRecentThreadID, F.MostRecentThreadReplies, F.MostRecentPostSubject, F.MostRecentPostAuthor,
F.MostRecentPostAuthorID, F.MostRecentPostDate, F.PostsToModerate, F.ForumType, F.IsSearchable, F.ApplicationType, F.ApplicationKey, F.Path,
F.PropertyNames as SectionPropertyNames, F.PropertyValues as SectionPropertyValues, F.DefaultLanguage, F.DiskUsage
-----------------------------------------------
,F.GalleryID
------------------------------------------------------FROM
cs_Sections F
WHERE
SettingsID = @SettingsID AND
--(IsActive = 1 OR 1 = @AllowInactive) AND
ApplicationType = @ApplicationType--Declare @AnonID int
--exec cs_GetAnonymousUserID @SettingsID, @AnonID outputexec cs_Section_Permissions_Get @SettingsID, 0, @ApplicationType--Return the counts of each post type
IF @IncludePostTypeCounts > 0
BEGIN
SELECT
F.ApplicationKey, P.ApplicationPostType, Count(*) as PostCount
FROM
cs_Sections F
JOIN cs_Posts P on F.SectionID = P.SectionID
WHERE
F.SettingsID = @SettingsID AND
F.ApplicationType = @ApplicationType
GROUP BY F.ApplicationKey, P.ApplicationPostType
ENDGO
如何建立?