索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。
数据库索引好比是一本书前面的目录,能加快数据库的查询速度。
例如这样一个查询:select * from table1 where id=44。如果没有索引,必须遍历整个表,直到ID等于44的这一行被找到为止;有了索引之后(必须是在ID这一列上建立的索引),直接在索引里面找44(也就是在ID这一列找),就可以得知这一行的位置,也就是找到了这一行。可见,索引是用来定位的。索引分为聚簇索引和非聚簇索引两种,聚簇索引 是按照数据存放的物理位置为顺序的,而非聚簇索引就不一样了;聚簇索引能提高多行检索的速度,而非聚簇索引对于单行的检索很快。
MySQL数据库:
1、什么情况下 可以将数据库连接 外连接可以转换成内连接?
2、为什么优化器尝试 将 外连接 转换成 内连接,为什么这么做?
3、
SQL优化内容包括:SQL知识 、 数据库原理 、 数据库设计 、 数据库源码
4、
MySQL数据库源码有100多万行,数据库优化器 部分大概有30万行代码。
5、
常见的SQL使用不当的例子:
未建立合理索引
复合索引使用不当
未在索引中完成排序
函数索引使用问题
锁优化不当
WHERE条件问题
未在索引中完成排序
没有正确数据库HINT
未使用绑定变量
表过大
与数据库的交互次数过多