SQL 数据库优化整理

出自灵魂

前几天自己整理的一个,平时开发过程中也尽量按照这些来做的。。有什么不妥的地方望各位指正。。

1.1. 操作符
1.1.1 慎用NOT IN, NOT IN会多次扫描表,使用EXISTS、NOT  EXISTS、IN、LEFT OUTER   JOIN来替代,特别是左连接,而Exists比IN更快,最慢的是NOT操作.

1.1.2 使用in时,在in后面值的列表中,将出现最频繁的值放在最前面,出现得最少的放在最后面,这样可以减少判断的次数。

1.1.3 如果使用了IN或者OR等时发现查询没有走索引,使用显式申明指定索引,如:Select * From FA01(INDEX=IX_SEX)  Where AA0107 IN(‘01’,‘02’)。

1.1.4 用OR的字句可以分解成多个查询,并且通过UNION连接多个查询。他们的速度只同是否使用索引有关,如果查询需要用到联合索引,用UNION   all执行的效率更高.多个OR的字句没有用到索引,改写成UNION的形式再试图与索引匹配。一个关键的问题是否用到索引。  

1.1.5 Between在某些时候比IN速度更快,Between能够更快地根据索引找到范围。用查询优化器可见到差别。
select   *   from   chineseresume   where   title   in   ('男','女')  
Select   *   from   chineseresume   where   between  '男' and  '女'
是一样的。由于in会在比较多次,所以有时会

阅读终点,创作起航,您可以撰写心得或摘录文章要点写篇博文。去创作
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Oracle数据库性能优化是一个复杂而重要的主题,以下是一些指南和建议,以帮助您提高Oracle数据库的性能: 1. 确保正确的数据库设计:良好的数据库设计是性能优化的基础。确保正规化和合适的索引设计,以减少数据冗余和提高查询效率。 2.优化SQL查询:针对频繁执行的查询进行优化。使用正确的索引、合适的连接方式和适当的查询重写来改善查询性能。 3.适当配置硬件资源:确保数据库服务器有足够的内存、磁盘空间和处理器资源来支持负载。调整参数以最大化系统性能。 4. 合理分配表空间和文件:将表空间和数据文件分布在不同的磁盘上,以平衡I/O负载。注意控制数据文件的大小和增长。 5. 使用合适的数据类型和大小:选择合适的数据类型和字段大小,以避免存储过多或过少的数据。这有助于减少存储空间和提高查询效率。 6. 编写高效的存储过程和触发器:确保存储过程和触发器的代码经过优化,避免重复计算和循环。 7. 监控和调整性能:使用Oracle提供的性能监控工具,如AWR报告和Enterprise Manager,来识别性能瓶颈并进行调整。 8. 使用合适的索引策略:为频繁查询的列创建索引,并定期重新组织和重新生成索引,以提高查询性能。 9. 缓存重复查询结果:使用Oracle的查询缓存功能,将常用查询的结果缓存起来,以减少数据库查询的开销。 10. 定期维护和优化:定期执行数据库维护任务,如统计收集、索引重建、表空间整理等,以保持数据库的最佳性能。 这些是一些常见的Oracle数据库性能优化指南,但具体的优化方法还取决于您的具体应用和环境。建议您参考Oracle官方文档和专业的数据库优化书籍,以获得更详细和个性化的指导。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yinqi025

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值