Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Oracle SEQUENCE - 'tăng dần theo' và 'bộ nhớ đệm'

Cũng không. Không có mối quan hệ nào giữa INCREMENT BY và CACHE.

INCREMENT BY kiểm soát khía cạnh đơn điệu của chuỗi. Với sự TĂNG BẰNG 50, chuỗi thành 1, 51, 101, 151 và như vậy.

CACHE kiểm soát số thứ tự được giữ trong bộ nhớ để phục vụ các yêu cầu NEXTVAL. Số CACHE càng nhỏ thì cơ sở dữ liệu càng phải đọc các bảng bên trong của nó thường xuyên hơn để lấy phạm vi phân bổ tiếp theo. Vì vậy, trong một hệ thống bận rộn vừa phải, chúng tôi muốn giảm thiểu số lượng chốt có được, vì vậy chúng tôi đặt CACHE thành số ish cao, giả sử là 1000.

Mọi người ám ảnh về việc đặt giá trị CACHE, bởi vì họ nghĩ nếu nó quá cao, họ có thể "mất" một số giá trị và có khoảng trống trong chuỗi của họ. Điều này cực kỳ khó xảy ra, và ngay cả khi nó xảy ra chúng ta cũng không nên quan tâm. Chuỗi là một nguồn đảm bảo các giá trị duy nhất và không có ý nghĩa nào khác.

Mặc dù, sau khi đọc lại câu hỏi của bạn, tôi không nghĩ rằng điều này sẽ có bất kỳ tác động nào đến hiệu suất của các phụ trang hàng loạt của bạn. Tại sao bạn lại chọn tập trung vào phân bổ theo trình tự? Bạn đã chạy bất kỳ dấu vết nào để phát hiện ra nút thắt cổ chai ở đâu chưa? Bạn đã nói chuyện với DBA của mình chưa?




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Trục động trong sql oracle - Thủ tục

  2. Tham gia Diễn đàn Hỏi và Đáp dành cho Nhà phát triển

  3. Sự khác biệt của Oracle giữa NVL và Coalesce

  4. Tạo Bảng từ Chế độ xem - Lỗi SQL SQL Oracle:ORA-01723:không cho phép các cột có độ dài bằng 0

  5. java.lang.ClassCastException:oracle.sql.BLOB không thể được chuyển thành oracle.sql.BLOB