数据库 sql select *from account where name=‘张三‘ 执行过程

select  *from  account where  name='张三'

分析上面语句的执行过程

用到了索引

由于是根据
1.name字段进行查询,所以先根据name='张三’到name字段的二级索引中进行匹配查
找。但是在二级索引中只能查找到 Arm 对应的主键值 10。

2.由于查询返回的数据是*,所以此时,还需要根据主键值10,到聚集索引中查找10对应的记录,最
终找到10对应的行row。

  1. 最终拿到这一行的数据,直接返回即可。
  2. 数据库 sql select *from account where name=‘张三‘ 执行过程_第1张图片
    mysql innodb的索引有聚集索引 和二级索引
    数据库 sql select *from account where name=‘张三‘ 执行过程_第2张图片
    数据库 sql select *from account where name=‘张三‘ 执行过程_第3张图片

你可能感兴趣的:(Java,数据库,sql)