Показать сообщение отдельно
Старый 07.05.2008, 11:01   #3  
Lucky13 is offline
Lucky13
Участник
1C
 
714 / 198 (8) ++++++
Регистрация: 21.10.2004
Цитата:
Сообщение от Владимир Максимов Посмотреть сообщение
Что значит "с чем"? Сам же и ответил - отличается больше чем на неделю.

Оптимизатор сервера пришел к выводу, что получить эту выборку будет быстрее, если сканировать не индекс, а саму таблицу. Ведь в данном случае "оптимизация" - означает "ускорение". Использование индекса - далеко не всегда приводит именно к "ускорению".
В том-то и дело, что это приводит к конкретному замедлению. Если указать в запросе индекс явно
X++:
SELECT * FROM TABLE(INDEX( ))
WHERE SALESDATE >=
то запрос выполняется за минуту (при любом значении даты), если не указывать, то несколько часов. Так как указать индекс явно из аксапты не получается (по крайне мере я не знаю как это сделать через Query), то и приходится думать почему оптимизатор принимает решение, приводящее не к ускорению, а к замедлению и как его заставить этого не делать.