oracle等待超时:谁应担责?(oracle超时)
Oracle等待超时报错是指,在建立Oracle数据库连接时,由于query在指定的时间内没有完成导致等待超时,大多数情况下,都是由于数据库本身的性能或者SQL语句的执行效率问题引起的。等待超时报错一种比较令人沮丧的数据库问题,但是问题出现的原因谁能负责呢?
答案显而易见:谁制定的query,谁就应担责。尤其是对于那些没有经过任何优化的query,没有合理的索引构建进行支持,也没有任何合理的查询优化方法去加速查询,更是彻彻底底的数据库设计失误而导致的耗时过长,等待超时当然是应有的结果。
但是相对于某些比较老旧的数据库设备如存储器,网络等,会造成相对较大的瓶颈,此时如果有现成的数据库设计人员既又具备技术,他们可以从限制性能的因素,重新调整查询语句,优化索引等方法来加快查询速度。
而如果查询语句而是模糊的,不合理的,由于表达和查询性能不够高导致等待超时,这更可以看作是数据库设计者的失误。可以肯定的是,这样的情况是完全可以避免的,如果有一个合理的SQL脚本能够在有限的时间内完成查询,即使数据库设计者没有把性能放在第一位,也可以避免出现等待超时。
另外,如果是数据库问题引发的等待超时,又应归咎于数据库管理者责任,比如:数据库不健康,有丢失的索引,字典损坏,索引链接表的损坏等,这些都可以造成查询性能差,引发等待超时,所以数据库管理员也该负起责任。
另外,也要牢记,不要归咎于数据库,而要寻找真正的问题出现的原因,然后来做出让查询能够更有效率的改变,以避免等待超时,提高系统效率。