Найти - Пользователи
Полная версия: SQLAlchemy оператор LIKE: String Overflow - вот это сюрприз!!!
Начало » Базы данных » SQLAlchemy оператор LIKE: String Overflow - вот это сюрприз!!!
1 2
ods
baloo
Единственное, что мне нравится - так это как SQLAlchemy взаимодействует с Paginator'ом. Ведь для того, чтобы паджинатор посчитал страницы и пр., по-любому требуется запросить весь запрос. Проще говоря, прменение rows так или иначе запрашивает ВСЕ, а потом из него берет свое. Получается долго. А алхимия делает как-то быстро и элегантно, даже запрос в 60 тысяч срок делит за секунду. Пытался отследить как, но пока ума не хватило.
SQLAlchemy устанавливает LIMIT и OFFSET для запроса.
baloo
PooH
SELECT COUNT(*) …
потом
SELECT FIRST x SKIP y …
ods
SQLAlchemy устанавливает LIMIT и OFFSET для запроса
first-skip в FireBird заменено rows to, я пытался это и использовать мимо SQLAlchemy. Вот он на сервере и запрашивает все, что допускается в клаусе WHERE, а потом из него и выбирает заданные строки. Лимит-оффсет, если не ошибаюсь, это из MySQL? Сегодня вечером посижу, покопаю еще, накопаю - отчитаюсь.
ods
baloo
Лимит-оффсет, если не ошибаюсь, это из MySQL?
MySQL, PostgreSQL (2 наиболее часто используемые СУБД), SQLite и ещё некторые. В стандартах такие вещи только недавно стали появляться: ROW_NUMBER() OVER в SQL2003 и OFFSET … ROWS FETCH FIRST … ROWS ONLY в SQL2008. До этого был только FETCH RELATIVE для курсоров (никогда не видел его использования в жизни, но в DB API есть методы делающие то же самое).
PooH
baloo
first-skip в FireBird заменено rows to, я пытался это и использовать мимо SQLAlchemy. Вот он на сервере и запрашивает все, что допускается в клаусе WHERE, а потом из него и выбирает заданные строки.
Может быть, давно с FireBird не работал. Дык, поставьте в create_engine echo=True и посмотрите какие запросы он генерит.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB