Для примера, такой запрос:
SELECT column_1, column_2 FROM table
WHERE
created > '2016-01-05 23:59:59'
AND
created < '2016-02-06 00:00:00';
Результат ~2.5KK строк, а по времени:
- mysql - ~2 сек;
- python-клиент на mysqlclient (форк MySQLdb) - ~ 3.5 сек.;
- python-клиент на aiomysql (внутри PyMySQL) - ~ 40 сек.
В общем, как в присказке про рыбку и пароход, хочется ассинхронности и быстрых запросов.
Кто aiomysql
использует, это возможно?
UPDATE. Господа, вопрос не про ассинхронность в mysql, и не про ОРМ. А про то, что коннектор, который использует aiomysql сам по себе работает в 10 раз медленнее, чем можно. Весь вопрос, есть возможность поменять коннектор в aiomysql или нет, и как выход остается смотреть в сторону ThreadPoolExecutor или aioodbc.
UPDATE 1. aioodbc и ThreadPoolExecutor мне в помощь.