通俗理解索引概念
为什么要有索引
开发的过程中,会碰到当数据库中数据量较大的时候,后端接口获取数据出现缓慢问题,为了优化体验,除了代码逻辑上的优化外,数据库索引也是一个优化方向,因此我们需要了解什么是索引,一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,在生产环境中,我们遇到最多的,也是最容易出问题的,还是一些复杂的查询操作,因此对查询语句的优化显然是重中之重。说起加速查询,就不得不提到索引了。
什么是索引
索引在MySQL中也叫是一种“键”,是存储引擎用于快速找到记录的一种数据结构。索引对于良好的性能非常关键,尤其是当表中的数据量越来越大时,索引对于性能的影响愈发重要。索引优化应该是对查询性能优化最有效的手段了。索引能够轻易将查询性能提高好几个数量级。索引相当于字典的音序表,如果要查某个字,如果不使用音序表,则需要从几百页中逐页去查。
通俗易懂讲法
例如:数据表 student.sql 数据量:十万条
普通查数据: 查询表中年龄为20岁的学生(假设有100名)数据:select * from student where age='20'; 需要全表遍历
有索引查询:数据库会为年龄字段新建一张与学生表关联关系的表,可以理解系统为我们创建一个对象(假如叫做student_age_object),该对象保存了年龄为20的所有记录,只要到这个对象中查找到年龄为20的100条数据。