MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Tôi có thể sửa đổi chỉ mục hiện có trong MongoDB mà không làm rơi nó không?

Không có cách nào để thay đổi một chỉ mục như bạn mô tả và nếu có, tôi nghĩ kết quả về mặt hiệu suất sẽ tương tự - làm thế nào cơ sở dữ liệu sẽ sử dụng một nửa chỉ mục được tạo / thay đổi trong khi thao tác này đang diễn ra?

Thay vào đó, tôi khuyên bạn nên sử dụng tùy chọn nền để xây dựng chỉ mục trên một nút duy nhất, nếu đó là cấu hình của bạn - sẽ mất nhiều thời gian hơn nhưng sẽ không ảnh hưởng nhiều đến hoạt động bình thường của bạn. Sau khi hoàn tất, bạn có thể thả chỉ mục cũ tùy ý.

Tuy nhiên , nếu bạn có một tập hợp bản sao (được khuyến nghị), bạn nên biết rằng việc tạo chỉ mục luôn (hiện tại) được thực hiện ở nền trước trên phần phụ. Nếu bạn muốn tránh tải các thư thứ hai của mình, thì bạn nên làm theo các bước được nêu ở đây để đưa thành viên ra từng thành viên một và xây dựng chỉ mục cần thiết trước khi tham gia lại nhóm:

http://docs.mongodb.org/manual/administration/indexes/#index-building-replica-sets

Cập nhật

Sẽ có thể xây dựng chỉ mục nền dựa trên bản thứ hai bắt đầu từ bản phát hành 2.6 (xem ghi chú phát hành để biết thêm chi tiết). Điều này sẽ không được phản hồi cho các phiên bản trước, vì vậy lưu ý trên sẽ đúng với các phiên bản trước 2.6.

Cuối cùng, Như một lưu ý chung, các chỉ mục được xây dựng trong nền nói chung sẽ lớn hơn và kém hiệu quả hơn so với các chỉ mục được xây dựng trong nền trước, vì vậy phương pháp ở trên vẫn sẽ có công dụng của nó.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cách thực hiện Tìm kiếm Toàn văn trong MongoDB

  2. 5 cách để có được mili giây từ một ngày trong MongoDB

  3. Đếm chọn MongoDB (x riêng biệt) trên một cột được lập chỉ mục - đếm kết quả duy nhất cho các tập dữ liệu lớn

  4. Cách xóa tài liệu MongoDB bằng cách nhập tệp

  5. Làm cách nào để trả lại định dạng ngày ISO trong PHP cho MongoDB?