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

MongoDB xóa rất chậm

Điều này đang xảy ra bởi vì mặc dù

db.repo.remove({"date" : {"$lt" : new Date(1362096000000)}})

trông giống như một lệnh duy nhất, nó thực sự hoạt động trên nhiều tài liệu - càng nhiều tài liệu thỏa mãn truy vấn này.

Khi bạn sử dụng bản sao, mọi thao tác thay đổi phải được ghi vào một tập hợp đặc biệt trong local cơ sở dữ liệu có tên oplog.rs - viết tắt là oplog.

Oplog phải có một mục nhập cho mỗi tài liệu đã xóa và mọi mục nhập đó cần được áp dụng cho oplog trên mỗi mục phụ trước khi nó cũng có thể xóa cùng một bản ghi.

Một điều tôi có thể đề xuất bạn nên xem xét là chỉ mục TTL - họ sẽ "tự động" xóa tài liệu dựa trên ngày hết hạn / giá trị mà bạn đặt - theo cách này, bạn sẽ không phải xóa nhiều lần và thay vào đó sẽ có thể tải nhiều hơn theo thời gian.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Có cách nào để khám phá những địa chỉ ip nào được kết nối với db không?

  2. Làm cách nào để ghi nhật ký các truy vấn được thực thi bởi Spring Data MongoDB?

  3. Mongo trình điều khiển C # cập nhật một phần tử cụ thể trong một mảng lồng nhau

  4. Làm cách nào để kích hoạt libmongoc ssl trong PHP 7 cho kết nối Mongodb?

  5. mongodb chèn nhiều tài liệu hoặc cập nhật bằng khóa duy nhất