2011-08-30 12 views
8

Nella mia applicazione Rails che sto utilizzando mongoid e nei registri prima di praticamente ogni query, anche sulla stessa richiesta, lo fa ancheMongoDB mantiene l'interrogazione namespace

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

Cos'è questo facendo? Si tratta di un problema di prestazioni? Posso in qualche modo memorizzare la cache in modo da non doverlo fare tutto il tempo o almeno impedirgli di intasare i log?

Edit: Ecco la quota di competenza del registro

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

Non c'è alcuna ragione durante il normale funzionamento per interrogare la collezione spazi dei nomi. Queste domande provengono da mongolo? –

+0

Non sto facendo alcun mongo me stesso quindi deve essere mongoid – jhchen

+0

Puoi pubblicare la query completa che stai eseguendo e il registro dell'intera query? Forse questo avrà più senso quando è collocato nel contesto. –

risposta

1

Bene la sua esecuzione di un'operazione sul database in modo da non vedere come il suo disordine quando si hanno le domande normali nei registri pure. Lo documentation per MongoDB afferma che gli spazi dei nomi <dbname>.system.* conservano i relativi metadati relativi al database.

Probabilmente non è possibile memorizzarlo nella cache poiché i dati potrebbero dover essere aggiornati su ogni query come parte di alcune operazioni di pulizia del database. Sto cercando nella fonte alcune risposte concrete.

+0

Non esiste alcun motivo per cui mongo interroga la raccolta dello spazio dei nomi per ogni query e in effetti non lo fa. Questo potrebbe essere un mongolo automagicamente che cerca di fare qualcosa, nel qual caso la magia è mal implementata o l'OP sta facendo qualcosa di sbagliato. –

+0

@Devin, Remon, Potresti approfondire l'argomento su questa informazione e perché ne ha bisogno. Non potrei trovare molte informazioni a riguardo. – Sid