我在这里读到每行将存储一些额外的数据,因此我们可能会看到性能下降,但还有哪些其他风险?
例如。这会影响数据库的恢复吗?我们还需要做些什么来利用这一点吗?
我计划执行这些命令:
ALTER DATABASE DatabaseName SET READ_COMMITTED_SNAPSHOT ON
ALTER DATABASE DatabaseName SET ALLOW_SNAPSHOT_ISOLATION ON
Run Code Online (Sandbox Code Playgroud)
我相信这会让我们更接近 oracle,如果一个事务正在更新其他事务仍然可以读取旧数据。这样对吗?
我正在研究这个,因为我厌倦了 SQL Server 2005 中的锁定问题。我希望这可以减少我们的用户看到的偶尔的死锁,帮助我们的应用程序的整体性能并鼓励我们的开发人员在没有害怕。
我想知道是否有必要在函数/过程中插入/删除/更新后写入提交?
例子:
create or replace function test_fun
return number is
begin
delete from a;
return 0;
end;
Run Code Online (Sandbox Code Playgroud)
或程序
create or replace procedure aud_clear_pro
as
begin
delete from a;
end;
Run Code Online (Sandbox Code Playgroud)
删除后需要提交吗?
无法理解以下情况:
如果我从 SQL 窗口调用函数/过程,那么它需要提交
但
如果我使用 dbms_scheduler 调度函数/过程并运行该作业,则会自动提交 delete 语句。
为什么?
我正在以数据库开发人员的身份从 SQL Server 过渡到 Oracle,并在这里找到了一些很棒的资源(如何从 SQL Server DBA 过渡到 Oracle?以及作为 DBA,我将如何从 Oracle 过渡到 SQL Server ? ) 但我很难找到有关在 Oracle 中使用索引组织表的好信息。
在我之前的生活中,我们在 OLTP 风格的数据集市中广泛使用了 SQL Server 中的聚集索引,并取得了巨大的成功。索引组织表是否是 Oracle 中方便的工具?