Oracle中容易被忽略的地方
2013-04-08 18:14
253 查看
在我们写SQL语句时,我们有时候往往会忽略一些细节,下面是我通过自己动手操作和查阅资料总结出来的,如果有不对的地方,或者有补充的,希望给我回复,大家互相学习。谢谢!
1、在进行全表扫描,而全表扫描的表的记录数超过100条,需要建立相应的索引或者更改查询条件,使用索引查询,避免全表扫描。
2、在查询中,使用到like语句,尽量使用后模糊查询。例如:
select * from tablename where column_name like '%name%' --不会使用column_name上的索引
![](http://dl.iteye.com/upload/attachment/0066/7953/af371bea-7fd0-39d2-8223-598bd295b986.png)
select * from tablename where column_name like 'name%' --使用column_name上的索引
![](http://dl.iteye.com/upload/attachment/0066/7955/6f81145d-8e99-332a-85d0-fa32f2d42032.png)
3、如果in后面的子查询或者列表超过5个值,尽量不要使用in,而使用exists;使用not exists,而不使用not in.
4、无用的字段不要select出来。
大小: 6.7 KB
大小: 7.1 KB
查看图片附件
1、在进行全表扫描,而全表扫描的表的记录数超过100条,需要建立相应的索引或者更改查询条件,使用索引查询,避免全表扫描。
2、在查询中,使用到like语句,尽量使用后模糊查询。例如:
select * from tablename where column_name like '%name%' --不会使用column_name上的索引
![](http://dl.iteye.com/upload/attachment/0066/7953/af371bea-7fd0-39d2-8223-598bd295b986.png)
select * from tablename where column_name like 'name%' --使用column_name上的索引
![](http://dl.iteye.com/upload/attachment/0066/7955/6f81145d-8e99-332a-85d0-fa32f2d42032.png)
3、如果in后面的子查询或者列表超过5个值,尽量不要使用in,而使用exists;使用not exists,而不使用not in.
4、无用的字段不要select出来。
大小: 6.7 KB
大小: 7.1 KB
查看图片附件
相关文章推荐
- Oracle 容易忽略的地方1
- Oracle 优化容易忽略的地方
- APP测试容易忽略的地方
- 基础java容易忽略的地方
- 安卓APP测试容易忽略的地方
- boostrap-非常好用但是容易让人忽略的地方【6】:role属性
- boostrap-非常好用但是容易让人忽略的地方------row
- Ajax中的2个容易忽略的地方
- flex容易被忽略的地方
- 基础java容易忽略的地方
- 极光推送中容易忽略设置的地方
- 关于TTL大家容易忽略的地方
- oracle sql语句转化为mysql 容易忽略“||”作用
- boostrap-非常好用但是容易让人忽略的地方【4】:Font Awesome
- PHP那些容易忽略的小地方。
- J2SE试题笔记一 总结了一些容易被忽略的地方
- C++ Primer 学习笔记与思考_9 表达式中过的那些容易忽略的地方
- flex容易被忽略的地方
- boostrap-非常好用但是容易让人忽略的地方【5】:input-group-btn
- java谜题--Thread.join()方法容易忽略的地方