OrientDB версия 1.7.10Новичок: OrientDB Basic SQL Query
Мы бежим следующие два запроса и количество записей, возвращаемых различны.
select from (select from sitedata) where localdate='2014-09-24'
select from sitedata where localdate='2014-09-24'
Первый запрос возвращает 6 записей, где второй возвращает только одну запись.
Sitedata - это вершина, а localdate - свойство даты. Существует также индекс, созданный на localdate.
Концептуально в чем разница между двумя запросами? В первом сценарии мы создаем так называемое встроенное представление в мире РСУБД, а затем помещаем фильтр в записи в виде строки. Мы предполагаем, что он должен внутренне извлекать все записи из базы данных и затем фильтровать в памяти. Во втором запросе данные напрямую фильтруются и индекс будет использоваться.
Обновление: проблема была из-за индекса. Индекс был создан как словарь, и это вызывало проблему. Изменение индекса устраняет проблему. – Dobi