大家讨论:
现在我的网站,现在我只要把网站对外开放,进程 sqlsever.exe马上100%,经过观察,执行一些存储过程要2分多钟。如果不对外开放,网站运行非常正常,执行存储过程也不用1秒钟。

解决方案 »

  1.   

    索引?最点型的下面那个存储过程:
    麻烦帮我优化看看,,,十分感激了,,,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
    如何建立?