我开始了解SQL中的保存点以回滚到特定的事务点。但是我们不知道可以创建多少个保存点?保存点是否会给数据库带来额外的负担!Oracle sql中允许有多少个SAVEPOINTS?
0
A
回答
1
一个简单的测试证明保存点数量的限制足够大,可以覆盖任何实际的使用情况。这很可能只是资源的限制,UNDO表空间。
[email protected]_PDB_TCP> CREATE TABLE test1 (val NUMBER);
Table created.
[email protected]_PDB_TCP> BEGIN
2 FOR i IN 1..100000 LOOP
3 INSERT INTO test1 VALUES (dbms_random.value);
4 EXECUTE IMMEDIATE 'SAVEPOINT s' || i;
5 END LOOP;
6 END;
7/
PL/SQL procedure successfully completed.
[email protected]_PDB_TCP> SELECT count(*) FROM test1;
COUNT(*)
----------
100000
1 row selected.
[email protected]_PDB_TCP> ROLLBACK TO SAVEPOINT s99999;
Rollback complete.
[email protected]_PDB_TCP> SELECT count(*) FROM test1;
COUNT(*)
----------
99999
1 row selected.
[email protected]_PDB_TCP> ROLLBACK TO SAVEPOINT s1;
Rollback complete.
[email protected]_PDB_TCP> SELECT count(*) FROM test1;
COUNT(*)
----------
1
1 row selected.
[email protected]_PDB_TCP>
+0
我并不认为仅仅使用UNDO即可使用SAVEPOINT - 只有完成的更改才能生成UNDO(并且据我所知,保存点不会增加UNDO的大小 - 但我没有提及这一点) –
+0
你很可能是对的。试图发现在使用保存点与简单事务相比使用undo时的不同之处,但它看起来相同,所以我期望保存点只是在保存点创建时的特定快照中的UGA内存引用。我的意思是UNDO,因为这将最有可能成为第一个耗尽资源,因为未做出任何改变。 – Husqvik
0
我知道在Oracle 7上,默认值是5,可以通过设置Oracle SAVEPOINTS初始化参数将其设置为255。但在此之后,我从来没有遇到过问题。
相关问题
- 1. 的Oracle SQL:列不允许
- 2. ADAM允许多少个并发连接?
- 3. 允许实现多少个接口?
- 4. 允许同时创建多少个AVPlayers?
- 5. phpmailer允许多少个字符
- 6. cassandra.yaml中allocate_tokens_for_keyspace的允许值是多少?
- 7. Oracle 10g Express Edition允许多少条记录?
- 8. 每个AppDomain允许拥有多少个app.config文件?
- 9. SQL Server 2008中允许的最大连接数是多少?
- 10. 电子邮件ID允许有多少个子域名?
- 11. Google允许指定的IP或网站有多少个查询?
- 12. SQL Server“不允许”多个根吗?
- 13. 允许多个类
- 14. Google Cloud允许的最大SQL实例数是多少
- 15. mysql中允许多少个按列排序,类似group by?
- 16. 可变参量工具在java中允许多少个参数?
- 17. 显示器最多允许多少个线程?
- 18. MobileFirst:有多个同名securityTests允许V7.0
- 19. CONNECT BY - ORACLE - 只允许一个cicle
- 20. 可能允许一个uitableview允许多个和单个选择?
- 21. Oracle不允许授予sys。*
- 22. SQL中有多少个连接?
- 23. htacess允许多个主机
- 24. Hibernate/JPA允许多少个并发的MySQL连接?
- 25. oracle许可证 - 找到多少天许可证过期
- 26. Java中允许多个&&语句?
- 27. C#任何允许我导出数据众多源的框架? SQL,Oracle,XLS等
- 28. 具有多个子查询的ORACLE SQL
- 29. 删除*所有不允许在SQL?
- 30. SQL ORACLE - 查询,显示的清单,有多少人是在50
我不认为他们有额外的成本,因为他们只存储对应于数据库所在状态的SCN。http://docs.oracle.com/database/121/CNCPT/transact.htm#CNCPT1121 –