设为首页
收藏本站
开启辅助访问
全部
问与答
创意
技术
酷工作
生活
交易
资源
节点
飞墙
Follow
明白贴
报酬
登录
注册
飞社-令人惊奇的创意工作者社区-
›
首页
›
程序员
›
请教 DBA 一个小白问题
FSHEX=FIND+SHARE+EXPRESS
飞社-令人惊奇的创意工作者社区- 是一个关于发现分享表达的地方
现在登录
没有账号?
立即注册
推荐主题
›
我写了一本书:《从零开始手搓数据库(Go)》
›
为啥最近小红书疯狂推送关于红楼梦及明朝相
›
儿子去外地见网友,有什么定位软件推荐?
›
跟大家讲个笑话 - 关于面基失败
›
京东的价格保护都变味了
今日热议主题
为 c++ 提供模式匹配
MegaETH - 资深运维开发专家(全职,远程)
下午摸鱼玩了个地图拼图,结果被俄罗斯的“
关于 dns 的奇怪问题
美区 Paypal 免费赠送 12 个月 Perplexity
[独立开发] 写了个 AI 养鱼助手 (TankMate
支付宝也开始搞代开发票+Q 这种业务了?
MegaETH - 钱包后端开发工程师(全职,远程
被 Windows 台式机折腾了一个周末,问题究
[更新] 我把 100%本地运行的刷算法题项目做
显示全部
|
最新评论
11 条回复
·
260 次点击
11#
xlzyxxn
小成
2024-9-5 09:56:37
请教 DBA 一个小白问题
mysql 连接查询用的是嵌套循环算法,你这几个 sql 都是左连接或者右连接,驱动表和被驱动表已经确定了;你需要的是为每个表选择成本最低的访问方案;问题 1 问的没太懂,看看嵌套循环执行的步骤你可能就懂了;问题 2 第二种把驱动表缩小到了 10 条记录,扇出次数比第一种要少(在 mysql 没对第一种做优化的时候),效率肯定高,具体执行时 mysql 到底对第一种 sql 做没做优化这个就不清楚了
12#
ZZ74
小成
2024-9-5 10:01:44
请教 DBA 一个小白问题
没特意查过,根据过往经验
A1 先 join ,但是实际性能和你 on on a.id=b.fid and a.id=10 这样的写法性能是一样的。就是数据库会优化
A2 绝大多数情况下,后者可以确保效率至少和前者一样,但是数据库可能会优化,取决于数据量和数据库类型。
13#
sagaxu
初学
2024-9-5 10:20:52
请教 DBA 一个小白问题
第一个问题,数据库一般会自己优化
https://dev.mysql.com/doc/refman/8.4/en/condition-filtering.html
第二个问题,第 2 个查询效率 >= 第 1 个,看 DB 的优化
14#
kosmgco
小成
2024-9-5 10:29:20
请教 DBA 一个小白问题
问题 1: 等值传递,优化器会拆成两个子查询 [from a where id = 10, from b where fid = 10],先 where 再 join 能少很多 io
问题 2:如果 a 数据量比较大,第二种方式左表的数据量会大大减少,会比第一种方式更快,
但是两种方式的结果不一样,第一种方式是先 join 再 order by 再 limit ,最终结果 10 条是确定的,第二种方式结果条数就不一定了
1
2
/ 2 页
返回顶部