Re: Сложный запрос на простой таблице.
От: wildwind Россия  
Дата: 16.01.06 08:53
Оценка:
Здравствуйте, Зверёк Харьковский, Вы писали:

ЗХ>И тут внезапно встает следующая задача: выбрать все obj_id, для которых верны следующие условия:

Прям-таки внезапно? О чем думали при проектировании?

ЗХ>Вот. Как это сделать наиболее эффективно?

Предполагая, что имеется индекс по (property_name, property_value, obj_id), наиболее эффективным представляется подход с self-join (3-й вариант retn). При этом порядок соединения должен определяться селективностью предикатов (как, и возможно ли управлять им в SQLite, не в курсе). То есть упорядочиваем предикаты по убыванию селективности, в данном случае это видимо Last Name, Age, Work. И строго в таком порядке нужно соединять. Проблема в том, что для разных свойств порядок будет разным.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.