Я работаю над проектом, которому потребуется огромная база данных. В настоящее время мы используем SQLAlchemy, но меня немного беспокоят проблемы с производительностью. Мой вопрос в том, что у меня есть запрос вроде:
session.query(DataStorage).filter(DataStorage.storage_path.startswith(path)).all()
Как SQLAlchemy выполняет фактический перевод и фильтрацию. Получает ли он все записи из DataStorage с предложением SELECT, а затем проверяет их всех? Или он знает, как перевести «фильтр (DataStorage.storage_path.startswith (путь))» в SQL? Насколько теряется производительность при использовании собственных SQL-запросов?
с уважением, Богдан