Oracle SQL 优化

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
很多地方写的不到步 希望大家谅解 能力有限
您也可以在后面补充 让我也学习学习
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值