问个加索引的问题

卡卡的喵 2020-04-16 06:50:47
SELECT
b. NAME,
b.age
FROM
a
JOIN b ON a. NAME = b. NAME
WHERE
b.age = 10

请问我想对b表加索引,是加name还是age,或者加个组合索引name,age?
查询条件既在join里又在where里,这样写的话,索引会起作用吗?
...全文
257 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
卡卡的喵 2020-04-23
  • 打赏
  • 举报
回复
引用 3 楼 乐大师 的回复:
优化建议如下: 1.a表b表各添加包含name的索引 2.b表添加包含age的索引,可以只包括age,也可以是联合索引,但必须age是创建索引的第一个字段。 SQL改写如下: select a. NAME,b1.age from a inner join (select name,age from b where age=10)b1 on a.name=b1.name
非常感谢
乐大师 2020-04-22
  • 打赏
  • 举报
回复
优化建议如下: 1.a表b表各添加包含name的索引 2.b表添加包含age的索引,可以只包括age,也可以是联合索引,但必须age是创建索引的第一个字段。 SQL改写如下: select a. NAME,b1.age from a inner join (select name,age from b where age=10)b1 on a.name=b1.name
就随风去吧 2020-04-18
  • 打赏
  • 举报
回复
如果b的数据量大的话建name,age联合索引 如果a的数据量大的话建a表name,b表age索引
csdn_castiel 2020-04-17
  • 打赏
  • 举报
回复
b表加age索引 a表加name索引

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧