2011-08-30 34 views
8

Trong ứng dụng ray của tôi Tôi đang sử dụng mongoid và trong các bản ghi trước khá nhiều mọi thắc mắc, thậm chí trên cùng một yêu cầu, nó cũng làmMongoDB giữ truy vấn không gian tên

MONGODB dbname['system.namespaces'].find({}) 

được này làm gì vậy? Đây có phải là mối quan tâm về hiệu suất không? Tôi có thể bằng cách nào đó bộ nhớ cache vì vậy nó không phải làm điều này tất cả các thời gian hoặc ít nhất là ngăn chặn nó từ làm tắc nghẽn các bản ghi?

Edit: Đây là phần liên quan của các bản ghi

Processing by FilesController#new as HTML 
Started GET "/" for 127.0.0.1 at Fri Sep 09 15:59:43 -0700 2011 
[Barista] Compiling all scripts for barista 
[Barista] Compiling all coffeescripts 
[Barista] Copying all javascripts 
MONGODB db['system.namespaces'].find({}) 
MONGODB db['users'].find({:_id=>BSON::ObjectId('4e6a949935d3e9726b000001')}) 
MONGODB db['system.namespaces'].find({}) 
MONGODB db['files'].find({:token=>"nonssb38"}) 
+0

Không có lý do quá trình hoạt động bình thường để truy vấn bộ sưu tập không gian tên. Những truy vấn này đến từ mongoid? –

+0

Tôi không làm bất kỳ mongo bản thân mình vì vậy nó phải là mongoid – jhchen

+0

Bạn có thể gửi truy vấn đầy đủ bạn đang chạy và đăng nhập của toàn bộ truy vấn đó? Có lẽ điều này sẽ có ý nghĩa hơn khi được đặt trong ngữ cảnh. –

Trả lời

1

Vâng nó thực hiện một thao tác trên cơ sở dữ liệu vì vậy tôi không thấy cách lộn xộn của nó khi bạn có thắc mắc thông thường vào các bản ghi là tốt. Các documentation cho MongoDB tiểu bang rằng các không gian tên <dbname>.system.* giữ siêu dữ liệu liên quan đến cơ sở dữ liệu trong đó.

Bạn rất có thể không thể lưu trữ bộ nhớ cache vì dữ liệu của nó có thể cần được cập nhật trên mỗi truy vấn như một phần của một số dịch vụ vệ sinh cơ sở dữ liệu. Tôi đang tìm nguồn cho một số câu trả lời cụ thể.

+0

Không có lý do gì để mongo truy vấn bộ sưu tập không gian tên cho mọi truy vấn và trên thực tế nó không có. Điều này có thể được mong muốn automagically cố gắng để làm một cái gì đó trong trường hợp đó ma thuật hoặc là thực hiện xấu hoặc OP đang làm điều gì đó sai trái. –

+0

@Devin, Remon, Bạn có thể giải thích chi tiết về thông tin này mà nó truy vấn và tại sao nó cần điều này. Tôi không thể tìm hiểu nhiều thông tin về nó. – Sid

Các vấn đề liên quan