一.索引基础知识
1.什么叫数据库索引?
答:索引是对数据库中一列或者多列的值进行排序的一种数据结构。重点:对列的值进行排序的数据结构。
使用索引可以快速访问数据库中的记录
2.索引的主要用途是什么?
答:执行select语句时候会使用索引,索引主要用来提高查询性能。由于索引是经过某种算法优化过的,因而查找次数要少的多。
索引另一个主要用途是用在排序上。
3.索引是怎么执行的?
答:数据库也是一种程序,需要在内存中运行,需要cpu和内存资源。索引被数据库程序放到内存中,所以索引不能太大,cpu进行计算查询,然后产生中间结果集。
索引是被数据库程序装载到内存中的,索引是被数据库程序装载到内存中的,索引是被数据库程序装载到内存中的,
索引文件会产生一个中间结果集,然后根据中间结果集,在表中查询具体的记录。
由于索引文件以B-树格式保存,MySQL能够立即转到合适的firstname,然后再转到合适的lastname,最后转到合适的age。在没有扫描数据文件任何一个记录的情况下,MySQL就正确地找出了搜索的目标记录!
4.不使用索引情况下,sql查询语句是怎么执行的?
答:如果没有索引,必须遍历整个表。例如这样一个查询:select * from table1 where id=10000。如果没有索引,必须遍历整个表,直到ID等于10000的这一行被找到为止;有了索引之后(必须是在ID这一列上建立的索引),即可在索引中查找。由于索引是经过某种算法优化过的,因而查找次数要少的多。可见,索引是用来定位的。
5.索引中记录的顺序与表中物理记录的顺序一致么?
答:当然不一致,因为索引会对字段值进行排序,且索引采用特殊的优化算法存储。但聚集索引是不同的,聚集索引中记录的顺序与物理表中记录的顺序是一致的。与非聚集索引相比,聚集索引能提供更快的数据访问速度。
但要注意:一个表中只能有一个聚集索引。
6.索引是怎么存储的?
答:索引是与数据库中的表一起存储的.存储在数据库中。且索引采用二叉树算法存储的,方便查询速很快。
7.索引有哪些种类?
答:可以在数据库中添加三种索引,主键索引,唯一索引,聚集索引。
1)唯一索引 唯一索引是不允许其中任何两行具有相同索引值的索引。当现有数据中存在重复的键值时,大多数数据库不允许将新创建的唯一索引与表一起保存。数据库还可能防止添加将在表中创建重复键值的新数据。例如,如果在employee表中职员的姓(lname)上创建了唯