2011-01-06 4 views
1

Я знаю PyMySQLDb, это самый тонкий/самый легкий способ доступа к MySql?Что является самым быстрым/наиболее эффективным SQL-драйвером для Python?

+1

я бы поставил, что диск DB получает доступ, сеть I/O, и акт вычисления ответа на запрос будет гораздо больше чем накладные расходы, наложенные драйвером SQL. – Thanatos

+2

Я согласен с @Thanatos. Если MySQL задан, тогда учитывайте дизайн и оптимизацию базы данных и используйте наиболее удобный драйвер для Python. – Apalala

ответ

3

Самый легкий способ - использовать ctypes и напрямую обращаться к API MySQL, конечно, без использования каких-либо слоев перевода. Теперь это уродливо и сделает вашу жизнь несчастной, если вы также не пишете C, так что да, расширение MySQLDb является стандартным и наиболее эффективным способом использования MySQL при использовании Python Database API. Наверное, что-то еще будет построено поверх этого или одного из его предшественников.

Конечно, уровень соединения редко возникает из-за проблем со скоростью передачи данных. Это в основном из-за неправильного использования API-интерфейса или создания плохой базы данных или запросов.

5

Самый быстрый SQLAlchemy.

«Скажи что !?»

Хорошо, хороший ORM, и мне нравится SQLAlchemy, , вы получите код намного быстрее. Если ваш код затем работает на 0,2 секунды медленнее, на самом деле не произойдет заметной разницы. :)

Теперь, если у вас возникают проблемы с производительностью, вы можете улучшить код. Но выбор модуля доступа после того, кто теоретически «самый быстрый», является преждевременной оптимизацией.

+0

Если ваш код затем работает на 0,2 секунды медленнее, на самом деле не произойдет какая-либо «заметная разница» - вы сравниваете? –

+0

Это моя точка зрения. –

+0

, так что запрос, который занимает 50 мс для запуска, теперь должен принимать 250 мс? возможно, это приемлемо для некоторых случаев использования, но не для всех. –

0

MySQLDb быстрее в то время как SQLAlchemy делает код более удобной для пользователя - :)

Смежные вопросы