Cơ sở dữ liệu thường lưu giữ một tạp chí trước hình ảnh (trước khi giao dịch) hoặc một tạp chí sau hình ảnh (nó sẽ diễn ra khi giao dịch hoàn thành.) Nếu nó giữ hình ảnh trước đó, phải được khôi phục trên một rollback. Nếu nó giữ một hình ảnh sau, điều đó phải thay thế dữ liệu trong trường hợp một cam kết.
Oracle có cả không gian tạp chí và cuộn lùi. Nhật ký giao dịch tích lũy các khối mà sau này được viết bởi các nhà văn DB. Vì chúng không đồng bộ, hầu như không có gì nhà văn DB liên quan có bất kỳ tác động nào đến giao dịch của bạn (nếu hàng đợi đầy, thì bạn có thể phải đợi.)
Ngay cả đối với giao dịch chỉ truy vấn, tôi sẵn sàng đặt cược có một chút lưu giữ hồ sơ giao dịch trong các lĩnh vực rollback của Oracle. Tôi nghi ngờ rằng một rollback đòi hỏi một số công việc trên một phần của Oracle trước khi nó xác định không có gì để thực sự quay trở lại. Và tôi nghĩ rằng điều này là đồng bộ với giao dịch của bạn. Bạn không thể thực sự giải phóng bất kỳ khóa nào cho đến khi hoàn thành quá trình quay lại. [Vâng, tôi biết bạn không sử dụng bất kỳ giao dịch nào, nhưng vấn đề về khóa là lý do tại sao tôi cho rằng việc khôi phục hoàn toàn được phát hành sau đó tất cả các khóa có thể được phát hành, sau đó hoàn tất khôi phục của bạn.]
Bật Mặt khác, cam kết là nhiều hơn hoặc ít hơn kết quả mong đợi, và tôi nghi ngờ rằng loại bỏ các khu vực rollback có thể nhanh hơn một chút. Bạn không tạo mục giao dịch nào, do đó, người viết db sẽ không bao giờ thức dậy để kiểm tra và khám phá ra rằng không có gì để làm.
Tôi cũng hy vọng rằng trong khi cam kết có thể nhanh hơn, sự khác biệt sẽ không đáng kể. Quá nhỏ, bạn thậm chí không thể đo lường chúng khi so sánh song song.
Nguồn
2008-10-13 16:46:18
Tôi không nhận ra điều này như một mô tả về cách thức hoạt động của oracle. Nó giống như một mô tả chung đã được áp dụng cho Oracle. Đoán làm thế nào Oracle hoạt động không có khả năng để được helful. –
Oracle gọi nhật ký là "Tệp nhật ký làm lại". Nó gọi các phân đoạn rollback là "Undo Tablespace". Bạn có biết cái nào nhanh hơn không? Cam kết hoặc quay lại? –
Nếu không có việc phải làm thì hầu như chắc chắn không có sự khác biệt. Oracle được tối ưu hóa để cam kết nhanh - nó chỉ yêu cầu bản ghi cam kết được ghi vào bộ đệm đăng nhập làm lại và bộ đệm được xóa (trừ cam kết không đồng bộ trong 10g +). Một rollback là nhiều công việc. –