精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

優化你的DiscuzNT,讓它跑起來

數據庫 SQL Server 數據庫運維
去年用DiscuzNT3.0做過二次開發,做過一些性能優化,但是時間關系一直沒機會寫下來;趁著5.1長假,來寫篇回憶性的隨筆吧。

去年用DiscuzNT3.0做過二次開發,做過一些性能優化,但是時間關系一直沒機會寫下來;趁著5.1長假,來寫篇回憶性的隨筆吧。

之前看過園子里代震軍同學的博客,知道了老代同學是DiscuzNT團隊的一員,從他的博文學了不少東西 ,我這里寫的博文是針對一些問題提出自己的看發和解決方案,針對問題并無針對任何人之意,秉著技術交流的原則。

DiscuzNT給我的印象是

1)功能很強大,所有你能想到的基本都已經有了;

2)性能有待優化,數據量較大的情況會產生性能瓶頸(這也正是寫此文的目的)。之前發的博文由于缺乏經驗,沒有足夠的論據,今天會多提供些圖文并茂的論據。

好了,言歸正轉,開始我們今天的優化之旅。

本系統環境如下:

軟件環境:DiscuzNT3.0 , sqlserver2000,windwos server 2003

數據環境:主貼表 dnt_topics 約220萬條記錄,回復表3個,dnt_posts1 約400萬, dnt_posts2 約500萬, dnt_posts3 約500萬,附件表 約170萬,用戶表 dnt_users 約20萬, 論壇表 dnt_forums 約5000個論壇

現象:看帖時,如果帖子包含附件,會很卡;

目的:優化看帖速度,尤其是有附件的情況

動手:看下它是如何獲取附件的,找到showtopic.aspx.cs,代碼如下:

  1. postlist = Posts.GetPostList(postpramsInfo, out attachmentlist, ismoder == 1);  

再看下 Posts.GetPostList() 方法的代碼:

  1. /// <summary> 
  2.         /// 獲取指定條件的帖子DataSet  
  3.         /// </summary> 
  4.         /// <param name="_postpramsinfo">參數列表</param> 
  5.         /// <returns>指定條件的帖子DataSet</returns> 
  6.         public static List<ShowtopicPagePostInfo> GetPostList(PostpramsInfo postpramsInfo, out List<ShowtopicPageAttachmentInfo> attachList, bool isModer)  
  7.         {  
  8.             List<ShowtopicPagePostInfo> postList = Data.Posts.GetPostList(postpramsInfo);  
  9.             int adCount = Advertisements.GetInPostAdCount("", postpramsInfo.Fid);  
  10.  
  11.             foreach (ShowtopicPagePostInfo postInfo in postList)  
  12.             {  
  13.                 LoadExtraPostInfo(postInfo, adCount);  
  14.             }  
  15.             attachList = new List<ShowtopicPageAttachmentInfo>();  
  16.             if (postList.Count == 0)  
  17.                 return postList;  
  18.  
  19.             string pidList = GetPidListWithAttach(postList);  
  20.             attachList = Attachments.GetAttachmentList(postpramsInfo, pidList);  
  21.             ParsePostListExtraInfo(postpramsInfo, attachList, isModer, postList);  
  22.             return postList;23         }  

從這里可以看出,DiscuzNT是把所有的帖子id組裝成 “ id1,id2,id3,id4 ” 的形式,然后傳入數據庫,避免多次調用數據庫,這個思路很好,現在我們順藤摸瓜,看看它調用了數據庫的腳本,它調用了這個過程 dnt_getattachmentlistbypid, 用profiler跟蹤這個過程看看性能。

看上面的圖,exec dnt_getattachmentlistbypid @pidlist = '5163797'  這個腳本的cpu=4531,reads=152641,duration=6156,很可觀吧,如果同時有10個人來調用這個過程,估計數據庫的壓力就大了,如果100人,難以想象。那我們怎么來優化這個過程呢,先看看里面它怎么寫的,是否用到了索引。

  1. ALTER   PROCEDURE [dnt_getattachmentlistbypid]  
  2. @pidlist varchar(500)  
  3. AS 
  4. SELECT   
  5. [aid],  
  6. [uid],  
  7. [tid],  
  8. [pid],  
  9. [postdatetime],  
  10. [readperm],  
  11. [filename],  
  12. [description],  
  13. [filetype],  
  14. [filesize],  
  15. [attachment],  
  16. [downloads],  
  17. [attachprice],  
  18. [width],  
  19. [height]   
  20. FROM [dnt_attachments]   
  21. WHERE CHARINDEX(','+RTRIM([dnt_attachments].[pid])+','','+@pidlist+',')>0GO 

這里主要查找的條件是pid,如果在pid列上建立索引,并且過程能用到索引,效果應該會更理想,這個優化工作我分為如下幾步:

1)pid列上是否有索引;

2)過程是否用到了索引;

3)優化sql腳本;

4)跟蹤優化后效果;

我們一步一個坑往下走:

1)sp_helpindex dnt_attachments 看看是否有索引,如下圖,從圖中可以看到pid列上是有索引的,如果沒有索引,請建立相關索引

2)看看是否用到了索引,CTRL + L 看看下面語句的執行計劃,他用到的索引是 PK_dnt_attachments,根本沒用到我們期望的pid

3)沒用到我們期望的索引,那我們就來優化一下;上面的dnt_getattachmentlistbypid過程里面 WHERE CHARINDEX(','+RTRIM([dnt_attachments].[pid])+',', ','+@pidlist+',')>0 對pid進行了列運算,這個是罪魁禍首,我們想辦法把這個列運算去掉,這個過程最終改成下面這個樣子:

  1. ALTER    PROCEDURE [dnt_getattachmentlistbypid]  
  2. @pidlist varchar(500)  
  3. AS 
  4.  
  5. declare @sql nvarchar(2000)  
  6.  
  7. set @sql = '  
  8. SELECT   
  9. [aid],  
  10. [uid],  
  11. [tid],  
  12. [pid],  
  13. [postdatetime],  
  14. [readperm],  
  15. [filename],  
  16. [description],  
  17. [filetype],  
  18. [filesize],  
  19. [attachment],  
  20. [downloads],  
  21. [attachprice],  
  22. [width],  
  23. [height]   
  24. FROM [dnt_attachments]   
  25. WHERE pid in (' + @pidlist + ')'  
  26.  
  27. exec(@sql)  
  28. GO 

4)改完之后我們來跟蹤下優化后的性能,看看跟蹤效果圖(同一個過程,同一個參數,第2個是優化前,第4個是優化后,優化效果灰常滿意)

至此,我們的優化告一段落。

原文鏈接:http://www.cnblogs.com/gezifeiyang/archive/2011/05/02/2034124.html

【編輯推薦】

  1. 淺述當前模式讀與一致性讀續
  2. 淺述當前模式讀與一致性讀的區別
  3. 告訴你,如何成就DBA職業生涯
  4. DBA應用技巧:如何升級InnoDB Plugin
  5. MySQL日志操作教程:DBA們管理的利器

 

責任編輯:艾婧 來源: 博客園
相關推薦

2022-12-06 09:03:44

代碼fork系統

2021-01-22 14:03:34

Flutter系統鴻蒙

2009-04-29 14:40:17

2021-01-12 11:12:58

大數據智慧交通

2019-09-03 08:00:00

電腦硬盤程序

2023-03-02 23:09:53

Node.jsC++JS

2017-11-17 15:25:02

Java線程安全

2023-08-03 09:02:32

LangChain開發GLM

2010-07-13 09:31:08

RubyRuby on Rai

2024-05-27 09:01:22

2020-04-06 09:05:07

谷歌機器狗人工智能

2015-08-04 17:46:19

戴爾anycloud云計算

2022-01-10 10:23:07

瀏覽器Vitenode

2023-01-31 07:42:29

代碼JDKMaven

2012-05-15 13:29:20

HTML5

2019-03-21 15:00:47

Python程序代碼

2021-11-10 10:00:48

鴻蒙HarmonyOS應用

2011-05-24 15:29:05

程序CC++

2014-04-18 17:12:00

樂跑手環

2024-06-12 12:28:23

點贊
收藏

51CTO技術棧公眾號

999福利视频| 无人在线观看的免费高清视频| 国产伦理吴梦梦伦理| 精品黄色免费中文电影在线播放 | 中文字幕一区日韩电影| 麻豆三级在线观看| 后进极品白嫩翘臀在线播放| 国产亚洲一区二区三区四区 | 性久久久久久| 色av吧综合网| www.88av| 久久精品九色| 在线观看亚洲a| 97在线国产视频| 国产男男gay体育生网站| 亚洲精品孕妇| 久久午夜a级毛片| 女~淫辱の触手3d动漫| 高清视频在线观看三级| 中文一区在线播放| 精品一区二区国产| 国产福利免费视频| 午夜精品久久99蜜桃的功能介绍| 亚洲美女黄色片| 亚洲AV成人精品| 国产精品久久久久久妇女| 亚洲va欧美va人人爽午夜| 一区二区三区四区视频在线| 欧美18xxxxx| 99久久国产综合精品色伊| 亚洲va电影大全| 中文区中文字幕免费看| 久久国产免费| 91成人性视频| 国产一卡二卡在线播放| 伊人青青综合网| 色偷偷91综合久久噜噜| 影音先锋制服丝袜| 久久av导航| 日韩精品在线视频| 人妻内射一区二区在线视频| 欧美1—12sexvideos| 亚洲天堂精品视频| 一本久久a久久精品vr综合 | 一炮成瘾1v1高h| 日韩精品高清不卡| 国产精品福利网站| 精人妻无码一区二区三区| 午夜影院日韩| 欧美最顶级的aⅴ艳星| 日韩在线观看第一页| 91久久亚洲| 久久久天堂国产精品女人| 第四色在线视频| 97成人在线| 精品剧情在线观看| av2014天堂网| 国产乱码精品一区二区亚洲| 亚洲欧洲中文天堂| 日本乱子伦xxxx| 日韩久久综合| 久久网福利资源网站| 强乱中文字幕av一区乱码| 国产精品99免费看| 欧美国产视频一区二区| 欧美亚洲天堂网| 性欧美长视频| 国产精品福利网| 国产一区二区三区在线观看| 国产乱人伦精品一区二区在线观看 | 亚洲国产精品影院| 人妻久久久一区二区三区| 密臀av在线播放| 在线一区二区三区| 久久6免费视频| 99香蕉久久| 亚洲欧美中文字幕| 手机在线中文字幕| 伊人久久成人| 日韩免费观看高清| 国产精品熟女久久久久久| 丁香五精品蜜臀久久久久99网站| 精品国产一区二区三区日日嗨 | 国产精品九九九九| 成人性色生活片免费看爆迷你毛片| 精品午夜一区二区三区| av小片在线| 亚洲午夜激情av| 国产成人久久婷婷精品流白浆| 日本电影久久久| 欧美精品一区男女天堂| 深爱五月激情网| 午夜影院欧美| 亚洲视频国产视频| 在线看的片片片免费| 亚洲狼人精品一区二区三区| 国产精品久久中文| 亚洲乱码国产乱码精品精软件| 久久综合狠狠综合久久综合88| 中文字幕一区二区三区乱码| 国产高清一级毛片在线不卡| 亚洲免费伊人电影| 黄在线观看网站| 欧美中文高清| 亚洲天堂免费在线| 国产精品999久久久| 免费人成在线不卡| 精品一区国产| 在线观看电影av| 欧美性生活久久| 制服丝袜第二页| 一区二区在线影院| 国产精品无av码在线观看| 五月婷婷开心中文字幕| 椎名由奈av一区二区三区| 北条麻妃在线一区| 激情视频极品美女日韩| 久久久999精品| 国产情侣小视频| 不卡在线观看av| 成人在线观看毛片| 亚洲成人毛片| 在线不卡国产精品| 黄色av网站免费观看| 成人黄页毛片网站| 第九区2中文字幕| 粉嫩av国产一区二区三区| 91精品免费观看| 欧美18—19性高清hd4k| 久久国产免费| 久久亚洲高清| 岛国av在线播放| 精品国产精品一区二区夜夜嗨| 五月天丁香激情| 韩国v欧美v日本v亚洲v| 一区二区不卡视频| 精品久久99| 最新日韩中文字幕| 中文字幕+乱码+中文乱码www| 91免费看片在线观看| 欧美男女爱爱视频| 国产乱人伦精品一区| 亚洲欧美国内爽妇网| 日韩伦人妻无码| 成人精品高清在线| 久久视频这里有精品| 日韩大片在线免费观看| 69精品小视频| 日韩毛片在线一区二区毛片| 日韩欧美一区二区三区久久| 美女网站视频黄色| 精品72久久久久中文字幕| 国产91av在线| 国产精品一区二区三区四区色| 91福利在线导航| 91av手机在线| 国内久久精品视频| 国产精品69久久久| 欧美成人午夜77777| 欧美一区第一页| 国产精品99999| 欧美久久久影院| 成年人午夜剧场| 国产日韩1区| 蜜桃传媒一区二区| 成人亚洲视频| 久久久国产精品一区| 国产美女免费视频| 亚洲一区二区三区四区在线| 久久人妻一区二区| 美女视频免费一区| 久久99久久99精品| 欧美女优在线视频| 91久久精品一区| 第一福利在线视频| 亚洲一二三在线| av免费在线不卡| 午夜av一区二区| 日本视频在线免费| 久久精品亚洲| 伊人久久大香线蕉成人综合网| 美国十次综合久久| 欧美亚洲一级片| 毛片免费不卡| 日韩精品www| 亚洲一二区视频| 亚洲成人在线观看视频| 91麻豆精品国产91久久综合| 国产成人精品免费网站| 一个色的综合| 国产精品午夜av| 国产九九精品视频| 1区2区在线| 尤物tv国产一区| 亚洲经典一区二区三区| 欧美亚洲禁片免费| 日韩成人免费观看| 最新国产成人在线观看| 三叶草欧洲码在线| 国产激情偷乱视频一区二区三区| 毛片av免费在线观看| 欧美三区美女| 亚洲高清不卡一区| 欧美综合自拍| 99精品国产高清一区二区| 亚洲第一会所001| 欧美极品第一页| 黄av在线免费观看| 夜夜嗨av一区二区三区免费区 | 亚洲我射av| 欧美怡春院一区二区三区| 中文字幕有码在线观看| 中文字幕久精品免费视频| 无码国产色欲xxxx视频| 欧美一区二区免费视频| 在线观看免费中文字幕| 黑人巨大精品欧美一区免费视频| 亚洲xxxx3d动漫| 欧美国产精品v| 中文字幕第20页| 99综合电影在线视频| 妖精视频在线观看| 午夜久久tv| 亚洲综合视频一区| 精品国产乱码| 欧美二区在线| 色先锋久久影院av| 国产在线精品一区| 波多野结衣在线一区二区| 亚洲一区二区三区视频播放| 91在线亚洲| 国产精品国产自产拍高清av水多| 五月天av在线| 2019中文在线观看| 9999精品成人免费毛片在线看| 久久99亚洲精品| 国产丝袜视频在线播放| 欧美日韩国产999| 丝袜综合欧美| 欧美国产日本高清在线 | 亚洲一区欧美一区| 青青草精品在线视频| 亚洲免费看黄网站| 黄色一级片中国| 一区二区三区**美女毛片| 欧美日韩在线视频免费播放| 亚洲精品日产精品乱码不卡| 91视频青青草| 一区二区三区四区在线| 欧美精品99久久久| 午夜私人影院久久久久| 久久夜靖品2区| 色琪琪一区二区三区亚洲区| 夜夜爽妓女8888视频免费观看| 在线精品国精品国产尤物884a| 波多野结衣一区二区三区在线 | 亚洲精品国产视频| 九九热视频精品| 五月婷婷久久丁香| 久久久久久久久久久久久av| 一本一道综合狠狠老| 国产99免费视频| 欧美老女人在线| 亚洲精品免费在线观看视频| 亚洲国产91精品在线观看| 自拍偷拍福利视频| 91麻豆精品91久久久久同性| www.爱爱.com| 亚洲精品国产精品自产a区红杏吧 亚洲精品国产精品乱码不99按摩 亚洲精品国产精品久久清纯直播 亚洲精品国产精品国自产在线 | 精品成人一区二区三区四区| 天天摸夜夜添狠狠添婷婷| 亚洲日韩中文字幕| 黄a在线观看| 7777精品视频| 日韩深夜福利网站| 国产精品久久一区二区三区| 九九久久成人| 免费成人进口网站| 国产成人三级| 色中文字幕在线观看| 亚洲先锋成人| 亚洲精品中文字幕无码蜜桃| 狠狠狠色丁香婷婷综合激情| 性色av蜜臀av浪潮av老女人| 国产精品中文字幕日韩精品| 天天躁日日躁狠狠躁免费麻豆| 国产午夜亚洲精品羞羞网站| 久久久久亚洲av片无码| 欧美午夜精品久久久久久人妖| 一区二区三区www污污污网站| 亚洲成人a**站| 色网站在线看| 91精品国产99久久久久久| 欧美一级做一级爱a做片性| 粉嫩高清一区二区三区精品视频 | 白嫩白嫩国产精品| 天堂一区二区三区 | 无码精品黑人一区二区三区| 最新的欧美黄色| 综合日韩av| 成人3d动漫一区二区三区91| 国产欧美日韩影院| 国产91xxx| 91久久高清国语自产拍| 国产h视频在线播放| 国产一区二区免费视频| 伊人色在线观看| 91亚洲精品一区二区乱码| 欧美爱爱免费视频| 欧美亚洲一区二区在线| 天天操天天干天天爽| 色综合久久悠悠| 四虎国产精品免费久久| 欧美极品色图| 99精品热6080yy久久| 少妇性l交大片7724com| 国产精品另类一区| 在线观看国产区| 亚洲美女黄色片| 在线一区av| 精品一区二区国产| 亚洲激情在线| 制服丝袜第一页在线观看| 亚洲专区一二三| 国产极品999| 欧美精品生活片| 国产不卡精品| 一区二区三区不卡在线| 日韩av中文字幕一区二区| 91精品国产自产| 午夜精品久久一牛影视| 日本美女一级片| 久久久久久久久久久免费| 日韩一区免费| 日本国产中文字幕| 国产传媒日韩欧美成人| 欧美成欧美va| 日韩欧美国产三级| 丰满大乳少妇在线观看网站| 91嫩草视频在线观看| 女主播福利一区| 欧美性猛交乱大交| 一区二区久久久久久| 成人午夜精品福利免费| 欧美精品18videosex性欧美| 99re8这里有精品热视频免费| 久久www视频| 丰满放荡岳乱妇91ww| 国产精品23p| 精品视频偷偷看在线观看| 韩国成人动漫| 日韩高清专区| 蜜乳av一区二区| 91视频综合网| 精品粉嫩超白一线天av| 77thz桃花论族在线观看| 精品国产_亚洲人成在线| 久久不射2019中文字幕| 免费福利视频网站| 7777精品伊人久久久大香线蕉的| 美女羞羞视频在线观看| 国产精品久久久久久久小唯西川 | 久久五月天小说| 久久国产精品网| 久久综合五月天婷婷伊人| 波多野结衣视频在线看| 久热精品视频在线免费观看 | 久草热8精品视频在线观看| 欧美日韩午夜视频| 欧美哺乳videos| 在线视频cao| 一本色道久久99精品综合| 国产盗摄精品一区二区三区在线| 在线观看黄网站| 色婷婷av一区二区三区久久| 福利在线一区| 一区二区在线播放视频| 亚洲人成在线播放网站岛国 | 最新国产精品精品视频| 久久精品免费一区二区| 亚洲国产成人私人影院tom| www.久久成人| 国产精品激情av在线播放| 欧美人成网站| 亚洲AV无码成人精品区明星换面| 欧美一区在线视频| 日韩av大片站长工具| 99久热在线精品视频| 久久久欧美精品sm网站| 日韩免费视频网站| 色偷偷888欧美精品久久久| 欧美亚洲国产日韩| 视频免费1区二区三区| 欧美日韩国产激情| av毛片在线看| 日韩久久不卡| 99久久er热在这里只有精品15| 亚洲最大成人av| 51精品国产黑色丝袜高跟鞋| 亚洲情侣在线|