• 售前

  • 售后

热门帖子
入门百科

Oracle进步sql实验服从的心得建议

[复制链接]
宇转好帖鄙 显示全部楼层 发表于 2021-10-26 14:22:05 |阅读模式 打印 上一主题 下一主题
复制代码 代码如下:
-->FROM子句中包罗多个表的环境下,选择记载条数最少的表作为基础表

-->剖析WHERE子句是自下而上的 过滤条件要有次序

-->ORACLE会将'*'转换成列名

-->DELETE会在rollback segment中存放可规复信息,可以试试TRUNCATE

-->COMMIT会开释:1.rollback segment
2.被步调语句得到的锁
3.redo log buffer

-->把Alias前缀于每个Column上可以减少剖析的时间

-->ORACLE剖析sql语句时会把小写的字母转换成大写的再实行

-->在索引列上利用NOT会制止利用索引转而实行全表扫描

-->在索引列上进行运算会制止利用索引转而实行全表扫描

-->利用'>=',而不是'>'

-->where子句中'!='、'||'、'+'等符号会粉碎索引

-->IN的效率很低,IN子句将实行一个内部的排序和合并

-->EXIST查询更为迅速

-->对于两个索引列,UNION比OR效率更高

-->IS NULL会粉碎索引

-->DISTINCT,UNION,MINUS,INTERSECT,ORDER BY等都带有SORT功能,会泯灭资源

-->多个索引列时尽量利用第一个索引列

-->尽量用 UNION ALL取代UNION

-->不要用TO_NUMBER()之类的函数改变索引列的范例。

-->对于字符范例的索引列尽量写成:col = '123' 而不是 col = 123,后者会被剖析为TO_NUMBER(EMP_TYPE)=123

-->得当的地方利用得当的关键字:HAVING会在检索出所有记载之后对结果集进行过滤 能利用WHERE解决时不要用HAVING

-->索引也必要维护,INSERT,DELETE,UPDATE会因索引而做出更多次I/O

-->重构索引是须要的:ALTER INDEX <INDEXNAME> REBUILD <TABLESPACENAME> [ONLINE]

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作