• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            網絡服務器軟件開發/中間件開發,關注ACE/ICE/boost

            C++博客 首頁 新隨筆 聯系 聚合 管理
              152 Posts :: 3 Stories :: 172 Comments :: 0 Trackbacks
                  有個存儲過程,功能是:根據用戶名查詢非好友的ID,代碼如下:
            begin

              select UserID  from  Users
                where
                UserID 
            != pUserID and
                Users.UserID  not 
            in
                (
                    select FriendID from Users_Friend where Users_Friend.UserID 
            = pUserID and DeleteFlag = 0
                )
                and
                Users.Name like BINARY  concat(
            '%',pUserName,'%')  ;

            end
             其中,pUserID是搜索者的UID,pUserName是要搜索的用戶名。今天發現這個存儲過程非常慢,分析結論是:not in 后面的select子查詢是每次都執行的,這出乎意料!mysql難道不能優化掉這樣的查詢嗎?
                  后來用了臨時表的方案,如下:
            begin

                Create TEMPORARY  Table  IF NOT EXISTS temp(FriendID 
            int );
                insert into temp(FriendID) select FriendID from Users_Friend where Users_Friend.UserID 
            = pUserID and DeleteFlag = 0;

                  select UserID  from  Users
                where
                UserID 
            != pUserID and
                Users.UserID  not 
            in
                (
                    select FriendID from temp
                )
                and
                Users.Name like BINARY  concat(
            '%',pUserName,'%')  ;

                drop TEMPORARY  table temp;
            end

            問題較好的解決了,因為臨時表temp中保存的都是好友的ID,非???,不用每次都去執行好友的篩選邏輯。另外一種方式是:將好友ID作為參數傳遞到存儲過程中,在程序外面查詢好友,但要改動程序。
             
            posted on 2011-01-13 13:05 true 閱讀(2955) 評論(0)  編輯 收藏 引用 所屬分類: mysql
            亚洲色欲久久久综合网东京热| 伊人久久大香线蕉av不变影院| 色欲久久久天天天综合网| 一本久久免费视频| 亚洲国产精品成人久久| 国产精品久久自在自线观看| 好属妞这里只有精品久久| 国产呻吟久久久久久久92| 亚洲精品久久久www| 色欲综合久久躁天天躁蜜桃| 青青草国产成人久久91网| 午夜视频久久久久一区 | 久久精品亚洲一区二区三区浴池| 日韩乱码人妻无码中文字幕久久| 久久精品国产秦先生| 亚洲午夜无码AV毛片久久| 久久精品人人做人人妻人人玩| 国产精品久久久久久久久久免费| 亚洲精品NV久久久久久久久久 | 亚洲AV成人无码久久精品老人| 精品999久久久久久中文字幕| 美女久久久久久| 久久91精品久久91综合| 久久午夜无码鲁丝片秋霞 | 久久久久青草线蕉综合超碰| 99精品久久精品| 国产美女亚洲精品久久久综合| 99热热久久这里只有精品68| 日韩av无码久久精品免费| 色综合久久天天综线观看| 久久最近最新中文字幕大全| 亚洲欧美日韩久久精品第一区| 久久播电影网| 国产成人久久精品麻豆一区| 国产精品一区二区久久精品| 国内精品人妻无码久久久影院导航| 国产精品综合久久第一页| 大伊人青草狠狠久久| 亚洲AV无一区二区三区久久| 久久久久久曰本AV免费免费| 欧美久久一级内射wwwwww.|