国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

首頁 > 數據庫 > SQL Server > 正文

探討select in 在postgresql的效率問題

2024-08-31 01:03:47
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了探討select in 在postgresql的效率問題 的相關資料,需要的朋友可以參考下
 

在知乎上看到這樣一個問題:

MySQL 查詢 select * from table where id in (幾百或幾千個 id) 如何提高效率?修改

電商網站,一個商品屬性表,幾十萬條記錄,80M,索引只有主鍵id,做這樣的查詢如何提高效率?

select * from table where id in (幾百或幾千個id)

這些id沒啥規律,分散的。。。。

看了一下答案,感覺有好多不靠譜的,但是口說無憑,所以在我的電腦上寫了幾個查詢測試一下。我用的是Postgresql9.4,但感覺mysql應該也差不多,首先創建一個簡單表,只有簡單的3列,在這個問題的下面好多人提到了需要看表的大小,其實這個問題和表大小無關,只和index的大小有關,因為是index是建立在int上的,所以只和紀錄數目有關。

Table "public.t9"Column | Type | Modifiers--------+----------------+-----------c1 | integer |c2 | character(100) |c3 | character(200) |Indexes:"i1" UNIQUE, btree (c1)insert into t9 values(generate_series(1000,500000,1),repeat('a',90),repeat('b',180)); 

之后生成一些隨機數,Mac上用jot,Linux上用shuf

for ((i=0;i<100000;i++))dojot -r 1 1000 600000 >>rand.filedone 

然后根據rand.file 生成查詢語句:

select * from t9 where c1 in (494613,575087,363588,527650,251670,343456,426858,202886,254037,...1);

分別生成3個sql文件,in內變量的數目分別是100,1000和10000個,執行這3個sql文件,看看時間

try psql study -f test_100.sql -o /dev/nullLOG: duration: 2.879 mstry psql study -f test_1000.sql -o /dev/nullLOG: duration: 11.974 mstry psql study -f test_10000.sql -o /dev/nullLOG: duration: 355.689 ms 

可以看到只有在in內數據到了10,000個的時候數據時間會有比較大的變化,但也不過是在300多ms內完成。

那如果按照有些回答那樣,先建一個臨時表,然后用in subquery,并且希望這時候可以兩表join呢?為了簡單我直接用兩表join了

drop table t_tmp;create table t_tmp(id int);insert into t_tmp (id) values(494613),(575087),(363588),(345980),...(1);select t9.* from t9, t_tmpwhere t9.c1 = t_tmp.id; 

時間如何呢?

try psql study -f test_create_10000.sql -o /dev/nullLOG: duration: 2.078 msLOG: duration: 1.233 msLOG: duration: 224.112 msLOG: duration: 322.108 ms 

除去drop和create的時間,依然花費了500+的時間,這里的前提還是我用的ssd盤,所以寫LOG的時間會快很多。為什么會這么慢呢?用explain看一下,這時候數據量較大,直接走Merge join 了

那1000行數據的效率如何呢?

try psql study -f test_create_1000.sql -o exp.outLOG: duration: 2.476 msLOG: duration: 0.967 msLOG: duration: 2.391 msLOG: duration: 8.780 ms 

100行的數據如下:

try psql study -f test_create_100.sql -o /dev/nullLOG: duration: 2.020 msLOG: duration: 1.028 msLOG: duration: 1.074 msLOG: duration: 1.912 ms 

可以看到在100個值和1000個值的情況下create table的方式不會比直接在in里面寫所有的變量好多少,explain看的話是在用NLJ了。但在數據量更大(按照原問題,這里in的數量其實無法預知)的情況下效率只會更低,再加上額外的表維護成本和多余的SQL語句,DBA肯定不喜歡的,還是相信數據庫,放心大膽直接用in list來搞定這些問題吧。

以上內容是針對select in 在postgresql的效率問題,希望對大家有所幫助!



注:相關教程知識閱讀請移步到MSSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
91xx在线观看| 国产成人亚洲精品播放器下载| 青青草视频在线观看| 精品av中文字幕在线毛片| 国产天堂在线| 一级黄色av| 国产在线观看a视频| 国产精品一二三区视频| 国产成+人+亚洲+欧美+综合| av在线网页| 国产偷激情在线| www.色婷婷| 黄污在线观看| 国产盗摄精品一区二区酒店| av免费在线播放| 国产麻豆麻豆| 中文在线有码| 福利视频网址导航| 精品入口蜜桃| 国内自拍视频在线观看| 亚洲视频日韩| 国产黄色片大全| 国产在线视频福利| 91精品国产91久久久久久青草| 欧美日韩不卡中文字幕在线| 国产成在线观看免费视频| 黄色av免费在线| 中文av在线播放| 国产三级视频在线播放线观看| 亚洲欧美中文字幕在线观看 | 亚洲社区在线| 国产国产国产国产国产国产| 国产在线视频福利| 欧美xxxxx性| av亚洲男人天堂| 亚洲尤物在线视频| 在线观看的网站你懂的| 91亚洲天堂| 国产成人精品自线拍| 国产日产精品久久久久久婷婷| 久热中文字幕精品视频在线| av在线电影观看| 亚洲国产精品区| 日韩黄色成人| 免费看ww视频网站入口| 免费a级在线播放| 丁香花高清在线观看完整版| 尤物网站在线| 91这里只有精品| 亚洲精品影视在线| 久热av在线| 国产精品伦理一区二区三区| 精品一区二区三区在线成人| 在线天堂中文www视软件| 亚洲日本久久久午夜精品| av大片在线| 白浆爆出在线观看| 国产精品天堂| 夜夜操天天干| 丁香花在线电影小说观看| 国产福利电影在线观看| 免费午夜一级| 国产a级网站| 激情在线视频播放| 91资源在线观看| 欧美日韩国产亚洲沙发| 最近中文字幕av免费高清| av手机免费在线观看| 国产中文字幕网| 尤物网站在线| 亚洲成人在线播放| 国产丝袜视频在线播放| eeuss在线观看| 国产福利视频在线| 国产乱xxⅹxx国语对白| 亚洲伊人网在线观看| 最近中文字幕av免费高清| 亚洲视频日韩| 国产精品第八页| 高清av中文在线字幕观看1| 精品999视频| 国产黄在线看| 国产视频福利| 日本中文字幕视频在线| eeuss影院在线播放| 国产视频福利| 中文字幕久热在线精品| 操操操综合网| 亚洲最新永久观看在线| 国产成人亚洲综合小说区| 国产精品日日爱| 国产亚洲精品久久久久久青梅 | 性网站在线观看| 国产素人视频在线观看| 丁香花高清在线观看完整版 | 国产精品自拍亚洲| av在线资源网| 亚洲精品视频在线免费| 精品一二三四| 精精国产xxxx视频在线中文版| 国产精品视频一区二区免费不卡| 交换国产精品视频一区| 免费在线黄色网址| 国产美女视频网站| 天堂在线亚洲| 国产超碰在线| 亚洲人在线播放| 欧美日韩亚洲国内综合网| www.狠狠操| 九九热在线观看视频| 天堂在线视频| 国产美女福利在线| 国产国产国产国产国产国产| 国产aⅴ超薄肉色丝袜交足| 永久免费在线观看| а√最新版地址在线天堂| 国产精选在线视频拍拍拍| 国产网站在线免费观看| 国产aⅴ超薄肉色丝袜交足| av亚洲在线| 18加网站在线| 精品国内自产拍在线视频| 色综合久久五月天| 国产精品亚洲色图| 在线观看精品一区二区三区| 激情综合丁香| 国产精品毛片一区二区三区四区| 尤物视频在线观看视频| 国产乱精品一区二区三区| 国产盗摄一区二区| 欧美一级久久久久久久久大| 国产国产国产国产国产国产 | 日本免费视频www| 最新中文字幕在线视频| 亚洲天堂久久久| 国产性网软件大全| 麻豆电影传媒二区| 国产高清视频在线观看| 免费看av大片| 精灵使的剑舞无删减版在线观看| 国产男女无套在线播放| 亚洲精品国自产拍在线观看| 中中文字幕av在线| 欧美日韩久久中文字幕| 国产www网站| 国产一区久久精品| 最近中文字幕大全中文字幕免费 | 国产美女一区视频| 美女av在线播放| 亚洲欧美日韩综合精品网| 国产精品欧美色图| 日本视频三区| 四虎国产精品永久地址998| 国产成人福利| 国产高清av在线| 国产91足控脚交在线观看| 国产高清视频免费最新在线| 国产精品欧美韩国日本久久| 国产小视频免费在线网址| 最近免费中文字幕大全免费第三页| 久热免费在线视频| 久久亚洲天堂| 国产男女无套在线播放| 国内自拍视频在线看免费观看| 日本视频三区| 九九精品九九| 久久av少妇| 中文字幕第一页在线| 国产黄色片在线播放| 中文av字幕| 麻豆精品不卡国产免费看| 国产另类图片| 91精品国产91久久久久久青草| 精品国产福利一区二区在线| 99久热re在线精彩视频| 一个人看的www免费观看视频| av免费在线观| 国产资源在线看| 69视频在线观看| 超碰国产在线| 国产91久久久久| 亚洲欧美自拍另类| 丁香视频免费观看| 亚洲伊人网在线观看 | 国产九色在线| 伊人av免费在线观看| 欧美日韩性视频一区二区三区| 成人无遮挡免费网站视频在线观看| 最近中文字幕mv2018在线高清 | 精品成人一区二区三区免费视频| 亚洲日本伊人| 最新天堂资源在线资源| 91亚洲天堂| 综合图区亚洲白拍在线| 怡红院av在线| 国产特级嫩嫩嫩bbb| sese一区| 中文在线视频| 最新中文字幕在线| 欧美日韩**字幕一区|