引起数据库性能问题的因素

本文探讨了引起数据库性能问题的主要因素,包括软件设计中的架构选择和代码编写对数据库性能的直接间接影响,如强制使用索引、不必要的外连接、优化器模式选择以及未绑定变量的SQL。此外,还分析了数据库设计的重要性,如OLTP和OLAP系统的不同需求,以及内存优化和硬件设计在数据库性能中的角色。存储容量、安全性以及CPU、I/O和负载的平衡都是关键考虑因素。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

引起数据库性能问题的因素

1.软件设计对数据库的影响

1.1软件架构对数据库性能的影响

     如果一套系统的并发数非常大,常会考虑搭建一个中间层,其目的就是用来构建一个缓冲池,在数据库之前对大量的并发进行处理,以便于每次只有少量的用户连接到数据库中,其他的用户在缓冲池的队列中等待。

1.2软件代码的编写对数据库性能的影响

1.2.1人为的在SQL代码中加入Hint来约束SQL的执行计划

 案例1:开发人员为了要求每次对一个表做操作时,都使用索引,于是在代码中强行加入了Hint约束SQL的执行计划

             select /*+ index(t1 ind_t1 )*/ col1,col2 from t1 where col1>.....and col1<.....,系统上线后,开始没有问题,后来用户反映查询非常慢。最后对比最近的数据发现,近期的数据在创建索引的列上的值重复率要远远高于以前,因此Oracle在选择索引之后,比以前读取了更多的索引块和数据块,造成了大量的I/O操作。

            数据库里的数据不是一成不变的,最好让数据库自己决定SQL执行计划。

1.2.2不必要的外连接

1.2.3CBO下优化器模式的选择

      

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值