<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    leisure

    JAVA - exceed,helloworld
    隨筆 - 50, 文章 - 0, 評論 - 11, 引用 - 0
    數(shù)據(jù)加載中……

    記一段mysql優(yōu)化體驗

    今天優(yōu)化了一個查詢語句,覺得蠻可以的,拿出來跟大家分享一下,為方便起見,用了三個表作為示例說明。分別有:
    tbl_commpany主要是記錄廠商的信息,包括該廠商的狀態(tài)。
    tbl_product主要是記錄產(chǎn)品的信息,包括產(chǎn)品的狀態(tài),與廠商信息表關聯(lián)。
    tbl_company_top主要記錄廠商瀏覽訪問的排行榜信息(按年)。
    tbl_company(name, status)
    tbl_product(name, company_id,status)
    tbl_company_top(company_id,rank,count,year)
    現(xiàn)在要查詢顯示:
    查詢按排行榜排序的前100個廠商列表,顯示廠商名以及廠商下有多少產(chǎn)品數(shù)。
    三星(1560)  HTC(581)  ……

    思路是用 tbl_company_top(廠商排名表)與 b臨時表(每個廠商對應的產(chǎn)品數(shù)表) 與 tbl_company表(需要根據(jù)廠商的狀態(tài)進行過濾)三表關聯(lián):
    SELECT 
      c.name, b.product_count
    FROM 
      (SELECT * FROM tbl_company_top WHERE year = 2011) a,
      (SELECT company_id, COUNT(*) AS product_count FROM tbl_product WHERE status = 1 GROUP BY company_id) b,
      tbl_company c
    WHERE 
      a.company_id = c.id
      AND b.company_id = c.id
      AND c.status = 1
    ORDER BY a.rank,a.count DESC LIMIT 50;
    查詢了一下。速度非常慢。
    以下是EXPLAIN的信息:


    按照少關聯(lián),多篩選,盡可能減少最大條數(shù)再進行關聯(lián)的原則。
    原本打算在子查詢中直接LIMIT掉50條數(shù)據(jù)。不幸的是:This version of MySQL doesn’t yet support ‘LIMIT & IN/ALL/ANY/SOME subquery

    SELECT 
      b.copmany_id, COUNT(b.id), a.cnt
    FROM
      (SELECT copmany_id, MAX(COUNT) AS cnt FROM tbl_company_top a WHERE year = 2011 GROUP BY copmany_id) a,
      tbl_product b,
      tbl_copmany c
    WHERE
      b.company_id = a.company_id
      AND c.id = a.company_id
      AND b.status = 1
      AND c.status = 9
      GROUP BY b.company_id, a.cnt
      ORDER BY a.cnt DESC LIMIT 50;

    EXPLAIN的信息如下:
    此時,查詢語句可以達到接受級別(當然視乎數(shù)據(jù)的級別)


    另外,給必要的查詢字段加上索引,也有不錯的效果。

    posted on 2011-10-09 12:20 leisure 閱讀(285) 評論(0)  編輯  收藏 所屬分類: database

    主站蜘蛛池模板: 香蕉高清免费永久在线视频| 国产成人免费视频| 在线免费观看污网站| 国产99在线|亚洲| 毛片免费观看网址| 亚洲欧美日韩自偷自拍| 成年人免费网站在线观看| 亚洲精品免费网站| 国产精品国产免费无码专区不卡| 亚洲人成网站18禁止| 国产男女猛烈无遮档免费视频网站| 亚洲成AV人影片在线观看| 国产成人精品123区免费视频| 国产AV无码专区亚洲AV麻豆丫 | 亚洲一卡2卡3卡4卡国产网站| 亚洲一区二区三区免费在线观看| 亚洲欧洲日本精品| 97在线线免费观看视频在线观看| 中文字幕在线日亚洲9| 免费又黄又硬又爽大片| 中文字幕免费在线看| 亚洲av片劲爆在线观看| 91精品免费在线观看| 亚洲成在人线在线播放无码| 亚洲爽爽一区二区三区| 无码av免费一区二区三区试看| 亚洲伊人久久大香线蕉影院| 暖暖免费高清日本中文| 国产无遮挡色视频免费观看性色| 亚洲一区影音先锋色资源| 猫咪社区免费资源在线观看 | 精品无码专区亚洲| 亚洲中文字幕日产乱码高清app| 在线看无码的免费网站| 亚洲成熟丰满熟妇高潮XXXXX| 亚洲成A人片777777| 大香人蕉免费视频75| 中文字幕乱码一区二区免费| 国产成人精品日本亚洲18图| 亚洲色欲久久久久综合网| 99精品视频在线观看免费专区 |