Junior — Middle
85
MongoDB-да сұраулардың тиімділігін қалай арттырғаныңызды сипаттаңыз
Сұралған компаниялар
КубикТех
AI-дан жауап
sobes.tech AI
MongoDB-да сұраулардың тиімділігін арттыру үшін бірнеше тәсілді қолдандым:
-
Индексация — жиі сүзгілеу және сұрыптау үшін қолданылатын өрістер бойынша индекстер құру. Бұл іздеуді айтарлықтай жылдамдатады.
-
Проекция — сұрауда тек қажетті өрістерді таңдау, бұл деректер көлемін азайтуға көмектеседі.
-
Агрегация — деректерді өңдеу үшін агрегаттық функциялар мен pipeline қолдану, бұл қолданба жүктемесін төмендетеді.
-
Сұрауларды оңтайландыру —
explain()көмегімен сұрауларды талдау, осылайша түйіндер мен шектеулерді анықтау. -
Шардтау — үлкен деректер көлемі кезінде коллекцияларды бірнеше серверге бөлу.
Python-да PyMongo пайдаланып, проекция мен индекс қолданатын қарапайым сұраудың мысалы:
from pymongo import MongoClient
client = MongoClient('mongodb://localhost:27017/')
db = client.mydb
# 'user_id' өрісі бойынша индекс құру
db.orders.create_index('user_id')
# сүзгі мен проекциямен сұрау
cursor = db.orders.find({'user_id': 12345}, {'_id': 0, 'order_date': 1, 'total': 1})
for doc in cursor:
print(doc)