多大数据量的表联表查询会很慢呢?

209 天前
 lsw518598
最近的项目在一个表中存的主键,然后去另一个表中去联表,表的数据都是 k 级别的,并且业务要做多字段全模糊匹配,所以需要查询多次再 union 而且不能用到索引,子查询和联表都用上了,那这种数据级别用 join 会有效率问题吗?
1890 次点击
所在节点    PostgreSQL
12 条回复
zjp
208 天前
看 explain ,不用猜
lsw518598
208 天前
@zjp 现在手头还没有实际的数据,想着要是有有经验的老哥可以提前分析解惑一下,就可以避免生成测试数据了,还挺麻烦的 不过还是感谢解答
yinaqu
208 天前
数据都是 K 级别的,是指只有几千条么
lsw518598
208 天前
@yinaqu 对的 单独每个表里只有几千条的 join
yinaqu
208 天前
就几千条数据,多烂的 sql 都不会有什么大问题
lsw518598
208 天前
@yinaqu join 我记得是使用笛卡尔积,那么联查的时候会不会等于是 k*k=m 级别的数据里查询呢?刚工作开发经验比较少,谢谢哥指教
sylxjtu
208 天前
@lsw518598 慢主要慢在读盘上,所以肯定比从 k*k 个数据里读快
lsw518598
208 天前
@sylxjtu 好的~ 那我有信心继续往下做了 hhh
di94sh
208 天前
就几千条全在 buffer pool 里了
h19981126g
208 天前
explain analyze 看下,不是全盘扫就行,有索引基本不慢
LeeReamond
207 天前
不同后端情况不同,个人经验不做优化的话单表 1e6 连表 1e5 数量级就感觉到有明显 qps 下降了
xuanbg
207 天前
连表查询慢首先要看执行计划,执行计划没问题,那就是数据量的问题。数据量问题也不一定是单表量大的问题,有可能只是笛卡尔积比较大的问题。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/981922

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX