由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - sql multiple table join 的效率问题
进入Programming版参与讨论
1 (共1页)
s*****w
发帖数: 1527
1
pseudo code
select name from A
from B join A on A.id = B.id
join C on C.address = B.address
....
大体就是这个意思,几个table join, 如果提高效率,
还是mysql内部自己优化 ?
s*i
发帖数: 5025
2
mysql 那里把address做index提高效率

【在 s*****w 的大作中提到】
: pseudo code
: select name from A
: from B join A on A.id = B.id
: join C on C.address = B.address
: ....
: 大体就是这个意思,几个table join, 如果提高效率,
: 还是mysql内部自己优化 ?

s*****w
发帖数: 1527
3
谢谢,如果不想做index呢?

【在 s*i 的大作中提到】
: mysql 那里把address做index提高效率
m******r
发帖数: 1033
4
这东西没什么可优化的,因为太简单了; 而且现在数据库都很高级, 能自己‘优化’

当然如果数据库管理的不好,或者很多用户同时在用,那就没办法了。
w**s
发帖数: 1911
5
老邱呀,你这老码农的人设蹦了

【在 s*****w 的大作中提到】
: pseudo code
: select name from A
: from B join A on A.id = B.id
: join C on C.address = B.address
: ....
: 大体就是这个意思,几个table join, 如果提高效率,
: 还是mysql内部自己优化 ?

h**********c
发帖数: 4120
6
感觉您老就像一个科幻工作者来找段子的,回了,笑嘻嘻又给您东拉西扯到别的上去。
不回,哎呀我上mmt踢馆,混姿xia还学计算机的都答不上来。
数据库的的基本理论,我帮你回顾下本科教材,先讲normal form,然后讲relational
calculus, 什么project, selection,这个地方就介绍优化。具体我也忘了。
具体我个人工程实践我交教你,就是先selection 出来若干个临时表,然后join 这些
临时表。
join 是cartesian product,是很笨的。
这个时候就不如读到内存用程序处理了。
至于啥shard, tennant理论,咱格局小,没见过。

【在 s*****w 的大作中提到】
: pseudo code
: select name from A
: from B join A on A.id = B.id
: join C on C.address = B.address
: ....
: 大体就是这个意思,几个table join, 如果提高效率,
: 还是mysql内部自己优化 ?

e********2
发帖数: 495
7
Dynamic programming 和carnlidity决定join顺序,CSLR上有


: 谢谢,如果不想做index呢?



【在 s*****w 的大作中提到】
: 谢谢,如果不想做index呢?
1 (共1页)
进入Programming版参与讨论