MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Python + MongoDB - Cursor-Iteration zu langsam

Verwendet Ihre Pymongo-Installation den enthaltenen C-Erweiterungen ?

>>> import pymongo
>>> pymongo.has_c()
True

Ich habe den größten Teil der letzten Woche damit verbracht, eine mittelgroße Abfrage und die entsprechende Verarbeitung zu debuggen, deren Ausführung 20 Sekunden dauerte. Nachdem die C-Erweiterungen installiert waren, dauerte der gesamte Vorgang ungefähr eine Sekunde.

Um die C-Erweiterungen in Debian zu installieren, installieren Sie die Python-Entwicklungsheader, bevor Sie easy install ausführen. In meinem Fall musste ich auch die alte Version von pymongo entfernen. Beachten Sie, dass dadurch eine Binärdatei aus C kompiliert wird, sodass Sie alle üblichen Tools benötigen. (GCC usw.)

# on ubuntu with pip
$ sudo pip uninstall pymongo
$ sudo apt-get install python-dev build-essential
$ sudo pip install pymongo