Oracle-delete数据在释放表空间出现的问题 (oracle是什么)

教程大全 2025-07-12 22:36:47 浏览

数据表的庞大导致查询速度降低是必然的,所以常常将数据表的数据移走,但是使用delete后,数据是删除了,但是速度没有多大改善,忧闷了。使用备份表再drop掉原表。的确可以解决问题。但是较麻烦,今天请教了一个Oracle高手,解决了问题。 由于delete操作是不释放表空间的,要想提高查询速度则必须释放表空间。

对Oracle 9i而言,释放表空间则需要重新分析表。

进行select ,感觉的确快了很多。

另一种方法:

使用exp将表导出,drop 掉表,再imp回去。先做个简要笔记今天,帮同事导数据,从开发环境导到测试环境中,发现一个查询变的很慢。查看执行计划,发现居然用了全表扫描(表中大约300w条记录),为啥不用索引呢,查看索引状态,一切正常。

肯定是索引的问题,先分析一下表再说。

正常了。

一个论坛上的帖子:

Analyze table对Oracle性能的提升,大家来讨论一下这个优化课题我自己碰到的一个实际情况:

一个sql语句执行要1个小时,有时候还出不了结果,但分析sql涉及的表后,然后重新执行3分钟搞定!真的有这样惊人的差异?世事无绝对,有时候你可能发现会变慢,了解了CBO和RBO你就知道区别了。

annlyze表会增加CBO执行的性能?不一定的。我就碰到一个语句分析后要执行30多分钟,删除分析后,只要30秒。很多情况下不一定的,最好是自己从执行计划判断。

【编辑推荐】


oracle的commit

oracle的commit就是提交数据(这里是释放锁不是锁表),在未提交前你前面的操作更新的都是内存,没有更新到物理文件中。 执行commit从用户角度讲就是更新到物理文件了,事实上commit时还没有写date file,而是记录了redo log file,要从内存写到data物理文件,需要触发检查点,由DBWR这个后台进程来写,这里内容有点多的,如果不深究的话你就理解成commit即为从内存更新到物理文件。 锁有很多种,一般我们关注的都是DML操作产生的,比如insert,delete,update, update都会同时触发表级锁和行级锁补充:对的,insert以后commit之前是锁表的状态,其他事务无法对该表进行操作。

oracle delete表里面多余的数据后,空闲的表空间依旧没有增加,因为数据

降低高水位线的方法1.执行表重建指令 alter table table_name move;(在线转移表空间ALTER TABLE 。 。 。 MOVE TABLESPACE 。 。 。 ALTER TABLE 。 。 。 MOVE 后面不跟参数也行,不跟参数表还是在原来的表空间,move后记住重建索引。 如果以后还要继续向这个表增加数据,没有必要move,只是释放出来的空间,只能这个表用,其他的表或者segment无法使用该空间)2.执行alter table table_name shrink space; 注意,此命令为Oracle 10g新增功能,再执行该指令之前必须允许行移动alter table table_name enable row movement;3.复制要保留的数据到临时表t,drop原表,然后rename临时表t为原表/ table table_name deallocate

oracle用户,表空间,数据文件之间的关系问题

一个用户A被创建,并指定了表空间 这个 指定了表空间,其实是 默认表空间。 也就是这个用户 CREATE TABLE ... () 语句, 不指定表空间的话。 就默认把表,建立在那个 默认表空间 上面。 没有给他指定其它表空间的管理权限.但用户A能操作其它表空间,在其它表空间中创建表,是怎么回事哪。 这个要看你到底给了多少权限给这个用户A 你要是 SQL> GRANT CONNECT TO A; Grant succeeded. SQL> GRANT DBA TO A; Grant succeeded. 那么这个 用户A, 确实是可以干很多你不希望他干的事情。 所以,除了A的权限, 还要看看A的角色。 还有一个问题就是一个表空间中有几个数据文件,那用户A在创建一个表后,这个表被放到那个数据文件了? 这个表放那个数据文件,由数据库自己管理的。 原因也很简单。 比如你现在表空间 100M 只有1个文件。 数据库就只有一个很大的表 当运行一段时间后,表空间不足了。 你对这个表空间,增加一个 100M的文件。 使得这个表空间有 200M了。 那么,实际上,这个表,最后会在2个数据文件上,都有数据。

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。

发表评论

热门推荐