一张表数据量在150万条,查询很慢,我分离了146万出来,再去查询那张表,结果还是很慢.
我用 create table tb_name2 as select * from tb_name1 方式重新去创建那张表,查询那张新创建的表结果很快,为什么呢?
我就删除tb_name1 表,并将tb_name2 重新命名为tb_name1 查询很快,有点不明白,创建的同样表结构差距怎么这么大,什么原因造成的.
注:我是用delete方法删除掉的数据,是不是数据删除了表空间没有释放,是那种逻辑上删除,而不是物理上的删除呢?
有谁了解的呢.赐教下.
我用 create table tb_name2 as select * from tb_name1 方式重新去创建那张表,查询那张新创建的表结果很快,为什么呢?
我就删除tb_name1 表,并将tb_name2 重新命名为tb_name1 查询很快,有点不明白,创建的同样表结构差距怎么这么大,什么原因造成的.
注:我是用delete方法删除掉的数据,是不是数据删除了表空间没有释放,是那种逻辑上删除,而不是物理上的删除呢?
有谁了解的呢.赐教下.
解决方案 »
- Online Redo Log File不小心删除了,现在每次startup都ORA-03113: end-of-file on……
- Oracle各种锁区别
- 这个sql 怎么转成oracle的语法啊。
- 菜鸟级问题,请不吝赐教,谢谢
- ora-00604错误,大家帮我解决下
- 用execute immediate执行动态SQL的问题:
- 怎样将备份出来的dmp文件导入一个新的数据库,做成测试环境?主要要做哪几个步骤?
- oracle10G企业管理器怎么样启动
- 在sqlserver中,如何update,
- 0x80004005未找到客户端和网络组件
- 请教从oracle中导出数据
- 求教:asp+oracle数据库连接问题
--消除高水位
alter table tb_name1 move; --需要重建索引
可以重建表,或shrink表,以减小表所占空间。