Tùy chọn nào tốt hơn và nhanh hơn? Chèn dữ liệu sau khi tạo chỉ mục trên bảng trống hoặc tạo chỉ mục duy nhất sau khi chèn dữ liệu. Tôi có khoảng 10M hàng để chèn. Tùy chọn nào sẽ tốt hơn để tôi có thể có ít thời gian chết nhất.Chèn dữ liệu sau khi tạo chỉ mục trên bảng trống hoặc tạo chỉ mục duy nhất sau khi chèn dữ liệu vào oracle?
Trả lời
Chèn dữ liệu của bạn trước, sau đó tạo chỉ mục của bạn.
Mỗi lần bạn thực hiện thao tác UPDATE, INSERT hoặc DELETE, mọi chỉ mục trên bảng cũng phải được cập nhật. Vì vậy, nếu bạn tạo chỉ mục đầu tiên, và sau đó chèn 10M hàng, chỉ mục sẽ phải được cập nhật 10M lần (trừ khi bạn đang thực hiện các hoạt động hàng loạt).
Nhanh hơn và tốt hơn để chèn các bản ghi và sau đó tạo chỉ mục sau khi các hàng đã được nhập. Nó nhanh hơn bởi vì bạn không có chi phí bảo trì chỉ mục vì các hàng được chèn vào và nó tốt hơn từ quan điểm phân mảnh trên các chỉ mục của bạn.
Rõ ràng đối với chỉ mục duy nhất, hãy đảm bảo rằng dữ liệu bạn đang nhập là duy nhất để bạn không gặp phải lỗi khi cố tạo chỉ mục.
Như những người khác đã nói, hãy chèn trước và thêm chỉ mục sau. Nếu bảng đã tồn tại và bạn phải chèn một đống dữ liệu như thế này, hãy thả tất cả các chỉ mục và ràng buộc, chèn dữ liệu, sau đó áp dụng lại các chỉ mục đầu tiên của bạn và sau đó là các ràng buộc của bạn. Bạn chắc chắn sẽ muốn thực hiện các cam kết trung gian để giúp loại trừ khả năng bạn sẽ chạy ra khỏi không gian phân đoạn rollback hoặc một cái gì đó tương tự. Nếu bạn đang chèn nhiều dữ liệu này, nó có thể hữu ích khi xem xét việc sử dụng SQL * Loader để tiết kiệm thời gian và tình tiết tăng nặng.
Tôi hy vọng điều này sẽ hữu ích.
- 1. Có tốt hơn khi tạo chỉ mục trước khi điền vào một bảng có dữ liệu hoặc sau khi dữ liệu được đặt đúng chỗ không?
- 2. TSql, tạo chỉ mục trước hoặc sau khi nhập dữ liệu
- 3. Quyết định khi nào tạo chỉ mục trên cột bảng trong cơ sở dữ liệu?
- 4. Oracle: Chèn dữ liệu kiểu hàng vào một bảng khác
- 5. Oracle - Bạn có cần tính toán số liệu thống kê sau khi tạo chỉ mục hoặc thêm cột không?
- 6. Chèn dữ liệu vào bảng tạm thời
- 7. Set dữ liệu trong Select2 sau khi chèn với AJAX
- 8. JTable Cách làm mới mô hình bảng sau khi chèn xóa hoặc cập nhật dữ liệu.
- 9. Tạo khung dữ liệu trống với chỉ mục từ một khung dữ liệu khác
- 10. Sqlite3: Vô hiệu hóa chỉ mục khóa chính khi chèn?
- 11. chèn mục trong combobox sau khi liên kết nó từ một Tập dữ liệu trong C#
- 12. Cách nhanh nhất để chèn dữ liệu vào bảng Oracle là gì?
- 13. Cách tạo cơ sở dữ liệu mới sau khi cài đặt cơ sở dữ liệu Oracle 11g Express Edition?
- 14. Chèn dữ liệu vào MongoDB - không có lỗi, không chèn
- 15. Chèn blob vào cơ sở dữ liệu oracle với C#
- 16. Khi nào MS-SQL duy trì chỉ mục bảng?
- 17. Cấp quyền chèn người dùng sau khi tạo lệnh bảng
- 18. Tại sao MySQL Innodb "Tạo chỉ mục sắp xếp" khi chỉ mục duy nhất tồn tại?
- 19. Cách tốt nhất để lập chỉ mục dữ liệu bảng cơ sở dữ liệu trong Solr?
- 20. Khi nào tôi nên tạo các chỉ mục cơ sở dữ liệu?
- 21. Chèn vào cơ sở dữ liệu
- 22. Ký tự Unicode trở thành dấu chấm hỏi sau khi chèn vào cơ sở dữ liệu
- 23. Chèn hàng loạt chậm cho bảng có nhiều chỉ mục
- 24. Mô hình dữ liệu thực thể, chỉ số duy nhất
- 25. Tại sao một số kết nối mysql chọn dữ liệu cũ cơ sở dữ liệu mysql sau khi xóa + chèn?
- 26. Oracle: Chọn ngay lập tức sau khi chèn vào giao dịch tuần tự
- 27. Thay đổi kiểu lớp của một lớp dữ liệu sau khi chèn
- 28. Tạo chỉ mục trên bảng hiện có Oracle
- 29. mysql :: chèn vào bảng, dữ liệu từ bảng khác?
- 30. Lỗi khi chèn dữ liệu bằng SqlBulkCopy
"thường cam kết trong niềm tin sai lầm rằng bạn đang bảo tồn tài nguyên hoặc làm cho mọi thứ đi nhanh chỉ thực hiện điều này cho bạn: o làm chậm bạn xuống, vâng, đó là đúng, làm chậm bạn xuống - làm cho bạn chạy SLOOOWWWWEEERRR o không bảo tồn bất kỳ tài nguyên nào, trên thực tế, nó tiêu thụ nhiều hơn (bạn tạo ra nhiều hơn làm lại) o nghiêm túc đặt câu hỏi về tính toàn vẹn của dữ liệu của bạn " – Angelina