Если я только планирую использовать MySQL и если скорость является приоритетом, есть ли убедительная причина использовать SQLAlchemy? - PullRequest
3 голосов
/ 01 марта 2010

SQLAlchemy кажется действительно тяжелым, если я использую только MySQL.

Почему существуют убедительные причины за или против использования SQLAlchemy в приложении, которое использует только MySQL.

Ответы [ 3 ]

7 голосов
/ 01 марта 2010

ORM означает, что ваше OO-приложение действительно имеет смысл, когда интерпретируется как взаимодействие объектов.

Отсутствие ORM означает, что вы должны погрязнуть в несоответствии импеданса между SQL и объектами. Работа без ORM означает большое количество избыточного кода для сопоставления наборов результатов SQL-запросов, отдельных операторов SQL и объектов.

SQLAchemy аккуратно разбивает ваше приложение на объекты, которые взаимодействуют, и механизм сохранения, который (сегодня) оказывается реляционной базой данных.

С SQLAlchemy у вас есть реальная возможность отделить базовую модель и обработку от нечетных ограничений и причуд СУБД SQL.

4 голосов
/ 02 марта 2010

Я не думаю, что производительность должна сильно влиять на ваш выбор. Уровень, который добавляет ORM, будет незначительным по сравнению со скоростью базы данных. Базы данных всегда оказываются узким местом.

Использование ORM может позволить вам быстрее развиваться с меньшим количеством ошибок. Вы по-прежнему можете обращаться к БД напрямую, если у вас есть запрос, который плохо работает со слоем ORM.

0 голосов
/ 02 марта 2010

sqlalchemy предоставляет больше, чем просто orm, вы можете выбирать / вставлять / обновлять / удалять из табличных объектов, присоединяться к ним и т.д. для одного. Вы также получаете приличное управление соединением, которое вам не нужно писать самостоятельно.

Часть orm может не подходить для вашего приложения, но, на мой взгляд, использование вашей собственной обработки sql и обработки соединений было бы действительно глупо.

...