我們公司數據庫(Oracle9i)資料量越來越龐大,以前執行很快的SQL語句,現在變得很慢,檢查發現,原來數據庫自動執行最優化索引的語句,現在變成全表掃描,請問是否做一次索引rebuild及table的analyze就可以改善了呢,我問過以前的DBA,他們說不能做analyze,做完以後程序中以往正常執行的sql語句效能會變差。我現在開發程序要用的sql語句現在都執行不出結果,不知該怎麽辦,請教各位大蝦給出寶貴意見。
解决方案 »
- 如何在PL/SQL匿名块中返回记录集给C#
- Java调用Oracle数据库报异常
- 如何取两个日期之间的月份数
- struts <data-sources> 配置 放在什么目录下 在线等!!!
- pb连接oracle10提示oci.dll could not be loaded
- 开发人员----》DBA或者数据库系统工程师发展
- 在OEM中创建的作业删掉后,任务照样继续运行...高手帮忙。。
- 如何取树状结构中某节点的包含其所有父级节点的路径?
- 关于Oracle服务启动的问题,大侠帮忙啦!在线等
- WIN2000+oracle群集,创建表空间的问题?
- 查询速度的怪异问题。
- putty远程链接上unix服务器,如何操作安装在上面的PostgreSQL数据库?
客户7月份的结算,整了半个月才给搞定!就是批次太慢了,一条数据就要40多分钟!
跟你一样,也是表数据太大,查看执行计划走的是全表扫描,可是表上有index的,原来都是走的index,我查看也是发现有表的统计信息:select * from user_tables where user_table=upper('表') and num_rows is not null;用提示hints强制查询走index也不行,还是全表扫描最后,我的处理是:把表给drop了,再重新创建该表,然后跑批次的时候就走的index了估计是表有原来的统计信息,将统计信息删除了,也许就没事了
analyze table table_name delete STATISTICS;