oracle insert into 慢
时间: 2023-11-16 15:00:23 浏览: 149
针对运营商客户的计费库反应其入库程序很慢,应用方通过监控程序发现主要慢在对于几个表的insert操作上。按照我们的通常理解,insert应该是极快的,为什么会很慢呢?而且反应之前挺好的。这有点让我百思不得其解。通过检查event也并没有发现什么奇怪的地方,可以得出以下结论:
1. 该SQL insert时物理读如此之高,每插入一条数据大概产生一个物理读,而且都是index block的读取。
2. 通过将该index cache到keep 池可以解决该问题。
3. 随着表的数据越来越大,insert的效率会越来越低,也其实主要在于index的问题。
相关问题
oracle insert into select from 慢
一些可能导致Oracle的INSERT INTO SELECT FROM语句变慢的原因包括:
1. 联合查询 - 如果INSERT INTO SELECT FROM语句涉及到多个表,将会降低查询性能。
2. 未使用索引 - 如果查询涉及的表没有正确使用索引,查询可能会变得很慢。
3. 大表 - 如果查询的源表非常大,查询可能会变得很慢。
4. 限制 - 如果查询使用了限制语句,查询速度可能会变慢。
5. 存储过程 - 如果查询存在存储过程,则可能会影响INSERT INTO SELECT FROM语句的性能。
为了解决这些问题,可以尝试以下几个方法:
1. 优化查询 - 确保查询使用了正确的索引,尽可能缩小查询的范围,避免不必要的联合查询等等。
2. 增加硬件资源 - 如果查询源表非常大,则可以增加硬件资源以提高查询性能。
3. 建立临时表 - 如果查询涉及到多个表,则可以尝试使用临时表来提高查询性能。
4. 加强服务器性能 - 可以尝试升级服务器以提高性能,例如增加内存、处理器和存储等。
oracle insert into select 很慢,insert into 疑问:select 很快,但是insert into ** select 性能很慢...
这个问题可能由多种因素导致,以下是一些可能的原因:
1. 数据库表结构不合理,可能存在大量的索引或约束,导致插入数据时需要额外的计算和验证,从而降低了插入性能。
2. 目标表中的数据量过大,插入时需要进行大量的IO操作,这会导致插入操作变慢。
3. 执行插入操作的服务器硬件配置不足,导致插入操作变慢。
4. SQL语句本身存在问题,可能存在子查询或连接查询等复杂操作,导致插入操作变慢。
为了确定具体的原因,可以尝试使用数据库性能分析工具进行分析,并对表结构、索引、约束等进行优化。同时,也可以尝试将插入操作分批进行,避免一次性插入大量数据造成的性能问题。
阅读全文