国产无码免费,人妻口爆,国产V在线,99中文精品7,国产成人无码AA精品一,制度丝袜诱惑av,久久99免费麻辣视频,蜜臀久久99精品久久久久久酒店
        訂閱
        糾錯
        加入自媒體

        PG:查詢計劃器與random_page_cost

        2021-03-05 10:09
        yzsDBA
        關注

        查詢計劃器與random_page_cost

        本周小貼士比較奇怪,基于我們今天遇到的一個問題。將簡訊的鏈接存儲到一個簡單數據庫中:

        CREATE TABLE links (

         uid CHAR(60) PRIMARY KEY,

         data TEXT,

         timestamp INT

        CREATE INDEX idx_trgm ON links USING GIN (data gin_trgm_ops)

        當然,這個設計比較爛。但僅供內部使用,我只是一個粗略的想法原型。數據是一個包含json(I know, I know...)的文本,以同樣可怕的方式檢查鏈接的存在:

        SELECT * FROM links WHERE data ILIKE '%whatever we want%' LIMIT 1;

        在低容量下運行很好,但查詢時間偶爾會超過300ms,很好奇這是為啥?

        執行EXPLAIN ANALYZE后,發現PG根本沒使用GIN索引,而是使用了全表掃描。但是如果去掉LMIT 1,查詢將使用索引,執行只需要5ms。為什么PG會忽略索引?

        PG的查詢規劃器并不是真正基于人們做一些荒唐的事情。比如使用ILIKE進行全表掃描,關心的是走索引快還是全表掃描快。變量random_page_cost用于決定使用索引的代價是否值得,或者和seq_page_cost合作使用。

        這種情況下,索引掃描是值得的,但是查詢規劃器不同意。因為看起來很簡單的LIMIT 1,只找到一個結果就可以停止。并繼續進行全表掃描。

        SET random_page_cost = 1;

        EXPLAIN ANALYZE SELECT * ... LIMIT 1;

           [see the index being used]

        SET random_page_cost = DEFAULT;    

        EXPLAIN ANALYZE SELECT * ... LIMIT 1;

        [see the index NOT being used]

        除了明顯的“修復那個糟糕的模式”,看看PG會做什么,如果覺得索引掃描和順序掃描比代價低。因此如果最終得到的查詢使用索引,那么有必要嘗試一下,通過EXPLAIN ANALYZE分析。

        聲明: 本文由入駐維科號的作者撰寫,觀點僅代表作者本人,不代表OFweek立場。如有侵權或其他問題,請聯系舉報。

        發表評論

        0條評論,0人參與

        請輸入評論內容...

        請輸入評論/評論長度6~500個字

        您提交的評論過于頻繁,請輸入驗證碼繼續

        暫無評論

        暫無評論

          人工智能 獵頭職位 更多
          掃碼關注公眾號
          OFweek人工智能網
          獲取更多精彩內容
          文章糾錯
          x
          *文字標題:
          *糾錯內容:
          聯系郵箱:
          *驗 證 碼:

          粵公網安備 44030502002758號

          主站蜘蛛池模板: 九九成人精品| 青田县| 婷婷有码| 国模无码在线| 伊人性网| 亚洲自拍制服| 国产va在线| 中国少妇BBW| 欧美+国产+无码+麻豆| 18禁网址| 名山县| 精品一二三| jiZZjiZZ欧美69| 天海翼无码在线| 日韩aⅴ| 中亚成人综合在线| 久久久777| 大田县| 蜜臀久久99精品久久久久酒店| 欧美老熟妇精品| 波多无码在线| 色三区| 国产免费自拍视频| 波多野结衣无码视频| 色性av| 欧美1024| 临澧县| 久久久久厕拍| 中文字幕无码视频播放| 一色道久久88加勒比一| 探花av| 91成人在线播放| 亚洲成人色情| 69堂在线观看线无码视频一| 无码精品黑人| 大城县| 97久久精品人人澡人人爽| 亚洲国产| 布拖县| 成人小说一区二区三区| 91视频专区|