LINUX.ORG.RU

История изменений

Исправление cab, (текущая версия) :

SQL, конечно, далеко не эталон читабельности и лаконичности, но такой вариант несколько лучше:

SELECT * FROM auth_user u
JOIN business_entity_users b ON u.id = b.user_id
JOIN entity e ON b.entity_id = e.id
WHERE e.name='ЯНДЕКС' AND u.username = 'ph'

1) Однако, из ORM-кода не поймешь, что, собственно, задействовано выборке. Надо лезть в потроха объектов, чтобы понять, как там связаны 3 таблицы. Без SQL я бы считал, что таблиц там 2. Т.е. налицо усложнение поддержки
2) Сгенерированный SQL потенцально (а на некоторых СУБД - реально) менее производительный из-за встроеного запроса.

Исходная версия cab, :

SQД, конечно, далеко не эталон читабельности, но такой вариант несколько лучше:

SELECT * FROM auth_user u
JOIN business_entity_users b ON u.id = b.user_id
JOIN entity e ON b.entity_id = e.id
WHERE e.name='ЯНДЕКС' AND u.username = 'ph'


1) Однако, из ORM-кода не поймешь, что, собственно, задействовано выборке. Надо лезть в потроха объектов, чтобы понять, как там связаны 3 таблицы. Без SQL я бы считал, что таблиц там 3.
2) Сгенерированный SQL потенцально менее производительный.