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

Để giảm một chỉ mục với psycopg2 có hiệu lực trước hoặc sau khi cam kết?

commit chỉ cam kết bất kỳ giao dịch đang diễn ra nào đang diễn ra vào cơ sở dữ liệu của bạn.

Điều bạn thực sự đang hỏi là liệu việc giảm chỉ mục và sau đó sao chép trong cùng một giao dịch có cung cấp tốc độ tương tự như lần đầu tiên giảm chỉ mục trong một giao dịch và sau đó sao chép dữ liệu trong một giao dịch mới hay không.

Trích dẫn trực tiếp từ tài liệu nói rằng:

Phần được in đậm gián tiếp nói rằng bạn nên cam kết sau khi bỏ chỉ mục, vì việc giảm chỉ mục mà không cam kết (hoàn thành giao dịch) sẽ không có bất kỳ tác động nào đến những người dùng khác của cơ sở dữ liệu.

Vì vậy, giải pháp nên là một cái gì đó dọc theo các dòng sau:

bỏ chỉ mục của bạn, cam kết, sao chép dữ liệu, tạo chỉ mục mới và cam kết lại.

Lưu ý rằng khi bạn chia giao dịch của mình thành hai giao dịch, bạn sẽ mất tính nguyên tử. I E. Có thể các chỉ mục của bạn bị giảm, nhưng không có dữ liệu nào được sao chép (ví dụ:nếu nguồn hoặc mạng bị mất trong quá trình sao chép) và các chỉ mục sẽ không bao giờ được tạo lại.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL:CHÈN đa năng

  2. Kết nối bộ chứa postgreSQL + postGIS docker từ mạng cục bộ của tôi

  3. Truy xuất các từ khóa phổ biến nhất từ ​​cột tsvector

  4. nhập tệp csv trên các loại số postgres

  5. Gấu trúc sử dụng quá nhiều bộ nhớ với read_sql_table