索引+sql优化
索引的概念 : 索引是提高查询速度的一种手段。 索引有很多种,以下是索引树的结构 要求查询出薪资大于 5000 的雇员信息,只要在树中找到 5000 的节点,直接查询该节点右边的数据即可,左边就不用管了,这样提高了查询的效率。 将数据按照索引数据的方式保存需要先创建索引。 基本语法: CREATE INDEX 索引名 ON 数据表(字段名) ; 删除索引: DROP INDEX 索引名 ; 注意:系统默认主键使用索引。 复合索引 一个索引在多个字段上创建,就是一个索引作用于多个字段。 例如: CREATE INDEX 索引名 ON 数据表(字段 1 ,字段 2 ) ; 注意:查询数据使用字段 2 ,此时使用的是全表扫描模式,查询数据使用字段 1 ,此时使用的是索引扫描模式。(此现象叫做索引的 最左原则 ) 在 Oracle 中使用了多个字段,并且是 AND 连接的条件,那么字段的顺序不影响扫描的方式(索引扫描),如果是 mysql 则需要和复合索引的字段顺序一致。使用 OR 连接条件会导致索引失效,应该使用 UNION ALL 代替 OR 查询。 总结: 索引不能随便用。如果一张数据表更新频率太高,更新数据之后需要重新创建索引,这一过程很耗费性能。 Sql 的优化 *(面试题) 1、 对查询进行优化,要尽量避免全表扫描,首先应考虑在进行条件判断的字段上创建索引。