婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識(shí)庫 > 探討select in 在postgresql的效率問題

探討select in 在postgresql的效率問題

熱門標(biāo)簽:臺(tái)灣外呼系統(tǒng)軟件 真3地圖標(biāo)注 南京怎么申請(qǐng)400這種電話 濮陽清豐400開頭的電話申請(qǐng) 地圖標(biāo)注跑線下市場(chǎng) 地圖標(biāo)注可以編輯地名嗎 南通智能外呼系統(tǒng)怎么樣 疫情時(shí)期電話機(jī)器人 樂昌電話機(jī)器人

在知乎上看到這樣一個(gè)問題:

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

電商網(wǎng)站,一個(gè)商品屬性表,幾十萬條記錄,80M,索引只有主鍵id,做這樣的查詢?nèi)绾翁岣咝剩?br />

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

這些id沒啥規(guī)律,分散的。。。。

看了一下答案,感覺有好多不靠譜的,但是口說無憑,所以在我的電腦上寫了幾個(gè)查詢測(cè)試一下。我用的是Postgresql9.4,但感覺mysql應(yīng)該也差不多,首先創(chuàng)建一個(gè)簡(jiǎn)單表,只有簡(jiǎn)單的3列,在這個(gè)問題的下面好多人提到了需要看表的大小,其實(shí)這個(gè)問題和表大小無關(guān),只和index的大小有關(guān),因?yàn)槭莍ndex是建立在int上的,所以只和紀(jì)錄數(shù)目有關(guān)。

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)); 

之后生成一些隨機(jī)數(shù),Mac上用jot,Linux上用shuf

for ((i=0;i100000;i++))
do
jot -r 1 1000 600000 >>rand.file
done 

然后根據(jù)rand.file 生成查詢語句:

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

分別生成3個(gè)sql文件,in內(nèi)變量的數(shù)目分別是100,1000和10000個(gè),執(zhí)行這3個(gè)sql文件,看看時(shí)間

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

可以看到只有在in內(nèi)數(shù)據(jù)到了10,000個(gè)的時(shí)候數(shù)據(jù)時(shí)間會(huì)有比較大的變化,但也不過是在300多ms內(nèi)完成。

那如果按照有些回答那樣,先建一個(gè)臨時(shí)表,然后用in subquery,并且希望這時(shí)候可以兩表join呢?為了簡(jiǎn)單我直接用兩表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_tmp
where t9.c1 = t_tmp.id; 

時(shí)間如何呢?

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

除去drop和create的時(shí)間,依然花費(fèi)了500+的時(shí)間,這里的前提還是我用的ssd盤,所以寫LOG的時(shí)間會(huì)快很多。為什么會(huì)這么慢呢?用explain看一下,這時(shí)候數(shù)據(jù)量較大,直接走M(jìn)erge join 了

那1000行數(shù)據(jù)的效率如何呢?

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

100行的數(shù)據(jù)如下:

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

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

以上內(nèi)容是針對(duì)select in 在postgresql的效率問題,希望對(duì)大家有所幫助!

您可能感興趣的文章:
  • input+select(multiple) 實(shí)現(xiàn)下拉框輸入值
  • 在Spring中用select last_insert_id()時(shí)遇到問題
  • 解決IE下select標(biāo)簽innerHTML插入option的BUG(兼容IE,FF,Opera,Chrome,Safari)
  • Mysql select in 按id排序?qū)崿F(xiàn)方法
  • 解析MySQL中INSERT INTO SELECT的使用
  • insert into select和select into的使用和區(qū)別介紹
  • linux使用select實(shí)現(xiàn)精確定時(shí)器詳解
  • 解決Hibernate JPA中insert插入數(shù)據(jù)后自動(dòng)執(zhí)行select last_insert_id()
  • 數(shù)據(jù)庫插入數(shù)據(jù)之select into from與insert into select區(qū)別詳解
  • PostgreSQL教程(六):函數(shù)和操作符詳解(2)
  • PostgreSQL教程(七):函數(shù)和操作符詳解(3)
  • PostgreSQL教程(十六):系統(tǒng)視圖詳解

標(biāo)簽:河北 通遼 阿里 福建 陜西 廣安 馬鞍山 南京

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《探討select in 在postgresql的效率問題》,本文關(guān)鍵詞  探討,select,在,postgresql,的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《探討select in 在postgresql的效率問題》相關(guān)的同類信息!
  • 本頁收集關(guān)于探討select in 在postgresql的效率問題的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    久久99热99| 蜜桃在线一区二区三区| 日韩欧美一区二区不卡| 日韩欧美国产综合一区| 26uuu亚洲综合色| 国产精品污污网站在线观看| 综合激情网...| 婷婷久久综合九色综合伊人色| 亚洲第一综合色| 麻豆精品一区二区三区| 国产a视频精品免费观看| av一二三不卡影片| 欧美中文字幕一二三区视频| 日韩免费高清视频| 国产亚洲成年网址在线观看| 综合av第一页| 日本aⅴ精品一区二区三区| 国内精品久久久久影院色 | 国产精品一线二线三线精华| caoporn国产精品| 欧美日韩大陆一区二区| 久久久久久99久久久精品网站| 国产精品嫩草影院com| 亚洲国产精品影院| 激情深爱一区二区| 色噜噜狠狠成人中文综合| 91精品国产乱码久久蜜臀| 国产日产欧美一区二区视频| 亚洲一区二区视频| 国产一区在线观看麻豆| 欧美视频在线一区二区三区| 久久久综合视频| 亚洲午夜激情网站| 国产91在线观看| 欧美另类变人与禽xxxxx| 久久九九国产精品| 香蕉成人啪国产精品视频综合网| 国产精品一二三在| 欧美精品欧美精品系列| 国产日产精品1区| 人人精品人人爱| 在线看不卡av| 欧美国产日韩一二三区| 免费在线观看精品| 91在线观看地址| 2022国产精品视频| 日韩在线一区二区三区| jlzzjlzz国产精品久久| 久久亚洲一级片| 日韩黄色在线观看| 在线观看亚洲成人| 91丝袜高跟美女视频| 欧美精品一区二区三区一线天视频 | 久久精品国产一区二区| 日本精品一级二级| 亚洲欧洲日韩在线| 成人污污视频在线观看| 26uuu精品一区二区三区四区在线| 久久男人中文字幕资源站| 91女厕偷拍女厕偷拍高清| 国精产品一区一区三区mba视频| 亚洲一区二区三区在线看| 亚洲自拍偷拍麻豆| 久久影院午夜论| 欧美国产日韩a欧美在线观看 | 爽好久久久欧美精品| 男人的j进女人的j一区| 欧美制服丝袜第一页| 欧美一二三在线| 6080yy午夜一二三区久久| 国产精品网站一区| 午夜天堂影视香蕉久久| 北条麻妃国产九九精品视频| 日韩欧美精品三级| 亚洲精品国产视频| 国产成人精品亚洲日本在线桃色| 99免费精品视频| 亚洲综合一区二区三区| 蜜臀久久久99精品久久久久久| 欧美一区二区三区男人的天堂| 性做久久久久久| 在线观看日韩精品| 亚洲福利一区二区| 欧美日韩国产综合久久| 日韩av电影免费观看高清完整版 | 丝袜美腿亚洲一区| 制服丝袜亚洲精品中文字幕| 蜜臀91精品一区二区三区| 欧美精品一区二| 亚洲色图一区二区三区| 欧美在线高清视频| 免费精品视频在线| 欧美精彩视频一区二区三区| 成人黄色网址在线观看| 亚洲国产sm捆绑调教视频| 日韩一区二区影院| 国产经典欧美精品| 一区二区三区日本| 欧美成人猛片aaaaaaa| 成人国产精品免费网站| 亚洲国产精品欧美一二99| 日韩视频国产视频| 99国产精品99久久久久久| 一区二区三区欧美激情| 日韩欧美美女一区二区三区| av在线不卡网| 日韩电影免费一区| 中文字幕乱码日本亚洲一区二区 | 欧美日韩另类一区| 久久精品国产精品亚洲红杏| 国产精品美日韩| 欧美精品久久久久久久多人混战| 国产一区欧美一区| 午夜欧美在线一二页| 中文字幕av一区二区三区免费看| 色悠悠亚洲一区二区| 国产毛片精品国产一区二区三区| 亚洲午夜三级在线| 国产精品久久久久久久久免费丝袜 | 蜜臀久久久久久久| 最新中文字幕一区二区三区| 欧美刺激午夜性久久久久久久| 99久久精品国产网站| 美女一区二区在线观看| 亚洲综合成人网| 国产女人水真多18毛片18精品视频| 欧美日韩一区在线观看| 成人激情免费网站| 麻豆精品精品国产自在97香蕉 | www.成人在线| 狠狠色狠狠色综合| 日日摸夜夜添夜夜添精品视频 | 久久97超碰色| 午夜国产精品影院在线观看| 亚洲人成7777| 欧美国产欧美亚州国产日韩mv天天看完整 | 欧美色男人天堂| 97se亚洲国产综合在线| 国产寡妇亲子伦一区二区| 午夜精品久久久久影视| 亚洲一区二区成人在线观看| 亚洲欧美成人一区二区三区| 国产精品免费观看视频| 成人免费在线视频观看| 国产精品天天看| 国产精品久久久久久久久晋中 | 精品久久国产97色综合| 日韩欧美三级在线| 日韩精品中文字幕一区| 日韩精品一区二区三区视频播放| 欧美成人bangbros| 2017欧美狠狠色| 国产日韩亚洲欧美综合| 国产精品丝袜久久久久久app| 国产精品天美传媒| 亚洲免费资源在线播放| 一区二区免费视频| 亚洲国产一区二区在线播放| 午夜视频久久久久久| 麻豆国产精品一区二区三区| 国产在线一区二区| 成人黄色软件下载| 91啦中文在线观看| 欧美日韩日日骚| 日韩一卡二卡三卡四卡| 欧美一区二区三区四区高清| 欧美一区二区三区人| 91国模大尺度私拍在线视频| 制服视频三区第一页精品| 精品污污网站免费看| 欧洲日韩一区二区三区| 日韩午夜精品视频| 日韩欧美激情在线| 欧美成人aa大片| 日韩一区二区三区电影在线观看| 国产女人aaa级久久久级| 久久精品人人爽人人爽| 99久久精品免费看| 国产色综合一区| 在线播放日韩导航| 欧美视频精品在线观看| 欧美视频在线不卡| 欧美群妇大交群中文字幕| 久久综合999| 国产精品欧美综合在线| 国产精品久久久久婷婷| 久久亚洲精华国产精华液| 亚洲男女一区二区三区| 性做久久久久久免费观看欧美| 日日夜夜免费精品| 亚洲电影在线免费观看| 福利一区在线观看| 99热这里都是精品| 欧美视频一区二区三区在线观看| 国产肉丝袜一区二区| 亚洲欧美国产高清| 午夜精品久久久| 夜色激情一区二区| 国产69精品久久久久毛片| 91麻豆视频网站|