MYSQL联接类型

system
表仅有一行(=系统表)。这是 const联结类型的一个特例。
const
表有最多一个匹配行,它将在查询开始时被读取。因为仅有一行,在这行的列值可被剩下的优化器认为是常数。 const表很快,因为它们只读取一次!
eq_ref
对于每个来自于先前的表的行组合,从该表中读取一行。这可能是最好的联结类型,除了 const类型。它用在一个索引的所有部分被联结使用并且索引是 UNIQUEPRIMARY KEY
ref
对于每个来自于先前的表的行组合,所有有匹配索引值的行将从这张表中读取。如果联结只使用键的最左面前缀,或如果键不是 UNIQUEPRIMARY KEY(换句话说,如果联结不能基于键值选择单个行的话),使用 ref。如果被使用的键仅仅匹配一些行,该联结类型是不错的。
range
只有在一个给定范围的行将被检索,使用一个索引选择行。 ref列显示哪个索引被使用。
index
这与 ALL相同,除了只有索引树被扫描。这通常比 ALL快,因为索引文件通常比数据文件小。
ALL
对于每个来自于先前的表的行组合,将要做一个完整的表扫描。如果表格是第一个没标记 const的表,这通常不好,并且通常在所有的其他情况下 差。你通常可以通过增加更多的索引来避免 ALL,使得行能从早先的表中基于常数值或列值被检索出。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值