没有用到索引或者就是内存小了,因为没有备份运行时有的sql丢失了。
因为主机长期在工作数据会一上在增多对于内存还有CPU来说不是所有数据都可以一次性的完全处理好。就会有一些"尾数"包括记录,然而越来越多,会让主机运行速度变慢。如果用好点的专用的服务器硬盘,内存会让主机更长时间的不用重启。所以SQL还是要用高一点的配置。
问题描述
oracle数据库中一张表的数据已经 亿多 而且此表创建了 个独立的索引 由于业务需要 每天需分两次向此表中插入 万条记录 由于数据量大 每次插入耗时 个小时以上 严重影响效率 因此 修改了系统的算法 将此表中只存储当天新增记录 将此表truncate后 第二天执行对此表的update *** 作时 非常耗时 表中有 亿多条数据的时候 此sql语句耗时 秒 表中有 万条数据的时候 此sql语句耗时几个小时 咨询DBA后 得出结论 需重建索引 重建后 秒完成此 *** 作 但第三天问题依然出现 DBA正在查找原因 难道每次truncate表 都需要重建索引?
对于这个问题 DBA也没有给出合理的解释 推测主要原因是oracle复杂的查询优化算法
最终 DBA给出的解决方案
truncate table
drop index
insert data
create index
yze table table_name pute statistics;//重新生成统计数据
lishixinzhi/Article/program/Oracle/201311/16938
以上就是关于sqlserver 数据库服务突然缓慢 重启后正常 运行的sql只有30多条全部的内容,包括:sqlserver 数据库服务突然缓慢 重启后正常 运行的sql只有30多条、oracleSQL执行缓慢的分析、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)