大家好:
我有个问题想请教一下大家 ,我有个表数据更新的很快,比如说今天可能短时间内突然加入一千万条数据,但是可能过个几天,我就把这些数据清除到只有几千条,但是从TOAD里查看表的parameter 中的size in MB 却没有减小,还是很大,而且查询这张表还是比较慢,
请问是什么原因,有什么解决的方法吗?
我有个问题想请教一下大家 ,我有个表数据更新的很快,比如说今天可能短时间内突然加入一千万条数据,但是可能过个几天,我就把这些数据清除到只有几千条,但是从TOAD里查看表的parameter 中的size in MB 却没有减小,还是很大,而且查询这张表还是比较慢,
请问是什么原因,有什么解决的方法吗?
解决方案 »
- 怎么讲oracle数组的数据放到查询结果里?
- oralce性能、原理书籍推荐
- spool导出一个文本文件,如何得到导出的记录数?
- imp导入数据库错误
- 请帮帮忙 如何从一个表中取得班级中人数大于50的所有班级字段
- substr截取字符串的时候怎样将汉字当作两个count来截取?
- 请问怎样使用SQL读取其它数据库中的数据呢??
- 指教:为什么我重起WINDOWS2000后,在启动ORACLE启动不了?
- 怎么下这样的sql,select sum(qty) from table1 where name='lile' group by name 当没有lile这条纪录时自动返回 sum(qty) =0 ,
- 急救,关于在orale上用存储过程的
- oracle数据库实例等不等于sqlserver的数据库
- 存储过程 一般一定要异常处理么?
2、查询还比较慢的原因是高水位问题,如果是全扫描,实际扫描的数据是此表曾经进入过最多记录时占用的所有数据块
解决:
1)方法一、move表并重建索引
2) 方法二、shink表 alter table xx shrink space cascade
3)方法三、创建一结构跟当前表相同的表,旧表数据转移至新表,并进行表重命名操作然后编译失效对象
采用何种方法根据实际情况来选择。
alter table tablename move