Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
применение ORM становится бессмысленнымПочему бессмысленным? Зачем такие громкие заявления?
приводит к неработоспособности приложенияВ каком месте? По-моему, очень даже наоборот, помогает быстрее и проще писать приложения. Кроме того одно из преимуществ ОРМ — это (теоретически) независимость от используемой БД
5-1=4 хороших производительных сервера стОят поллимона рублей. За эти деньги можно нанять команду программеров, которые с нуля напишут производительный ORM или его подобие на C++ и прикрутят его к питону.
qs = User.objects.values_list('username', flat=True)
qs.query.set_limits(0, 1) # получаем элементы из полудиапазона [0; 1)
for i in range(10000):
user = list(qs.iterator())[0] # iterator нужен, чтоб значения из кэша не брались
Общий вывод
Использование мощных универсальных ORM приводит к очень заметным потерям производительности.
django req/seq: 1106.3929598 req time (ms): 0.903838 django (1) req/seq: 1173.20686476 req time (ms): 0.8523646 alchemy req/seq: 512.719730527 req time (ms): 1.9503833 alchemy (2) req/seq: 526.34332554 req time (ms): 1.8999006
Откуда тормоза в ORM?