1.合理的使用索引
索引分为 单列索引,多列索引,唯一索引,非唯一索引 ,域索引,函数索引
索引有什么好处呢?
创建唯一索引可以保证我们每行数据的唯一性
索引会帮我加速表与表之间的连接
索引会帮助我们加速where 语句的查询
索引可以帮助我们 更快的排序 和分组
索引优化隐藏器 对系统性能有提高
索引应该建在哪些列上呢?
应该 建立在我们经常条件连接的列上
建立在我们经常需要排序的列上
2.选择最有效率的表顺序
.Oracle 的解吸器 是从右到左解析
3.where 子查询中的表连接顺序
Oracle 解析器 自下而上 可以根据这个所以能过滤最大最大记录的应该写在 where 子句中的句末
4.避免使用* (因为他会创建一个临时表)
5.尽量用 exists 和not exists 代替 in 和 not in 因为 in 子查询时会进行全表所瞄 先执行子查询
在执行主查询 而exists 则是先执行主查询然后在去匹配
6.避免使用 is null 和 null 这样的查询不会使用索引
7.避免使用 和 != 用 代替
8.同配符(%)的使用作为查询字符的第一个字符的时候 索引将不会被使用到
9.union 会过滤重复的记录 和排序 如果不需要此功能尽量使用 union all
很多地方写的不到步 希望大家谅解 能力有限
您也可以在后面补充 让我也学习学习
索引分为 单列索引,多列索引,唯一索引,非唯一索引 ,域索引,函数索引
索引有什么好处呢?
创建唯一索引可以保证我们每行数据的唯一性
索引会帮我加速表与表之间的连接
索引会帮助我们加速where 语句的查询
索引可以帮助我们 更快的排序 和分组
索引优化隐藏器 对系统性能有提高
索引应该建在哪些列上呢?
应该 建立在我们经常条件连接的列上
建立在我们经常需要排序的列上
2.选择最有效率的表顺序
.Oracle 的解吸器 是从右到左解析
3.where 子查询中的表连接顺序
Oracle 解析器 自下而上 可以根据这个所以能过滤最大最大记录的应该写在 where 子句中的句末
4.避免使用* (因为他会创建一个临时表)
5.尽量用 exists 和not exists 代替 in 和 not in 因为 in 子查询时会进行全表所瞄 先执行子查询
在执行主查询 而exists 则是先执行主查询然后在去匹配
6.避免使用 is null 和 null 这样的查询不会使用索引
7.避免使用 和 != 用 代替
8.同配符(%)的使用作为查询字符的第一个字符的时候 索引将不会被使用到
9.union 会过滤重复的记录 和排序 如果不需要此功能尽量使用 union all
很多地方写的不到步 希望大家谅解 能力有限
您也可以在后面补充 让我也学习学习