请教老师,sql性能问题

来源:5-4 掌握RABC权限模型

七訫

2023-02-13

SELECT p.permission_name
FROM tb_user u
JOIN tb_role r ON JSON_CONTAINS(u.role, CAST(r.id AS CHAR))
JOIN tb_permission p ON JSON_CONTAINS(r.permissions, CAST(p.id AS CHAR))
WHERE u.id = 用户ID AND u.status = 1;
先做表连接再查询是否会影响性能,还是说mysql会自动优化

写回答

1回答

神思者

2023-02-13

你这个问题搞得我不知道怎么回答,MySQL不做表连接,难道都是单表操作么?我建议你百度一下MySQL表连接基准表,MySQL做表连接的时候会挑选数据最少的表作为基准表,然后去连接其他数据表,所以性能上是有保证的。

0
2
神思者
回复
七訫
没必要,MySQL会自动选择基准表。除非是子查询才这么优化,不是子查询不用这么做
2023-02-13
共2条回复

SpringBoot 在线协同办公小程序开发 全栈式项目实战

未来趋势型业务 + 前后端综合技术栈 + 惊艳的细节打磨

1798 学习 · 1915 问题

查看课程