Особенности работы сортировки

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
Zver
Местный житель
Сообщения: 204
Зарегистрирован: 13 ноя 2012, 12:47
Откуда: СПб
Контактная информация:

Особенности работы сортировки

Сообщение Zver »

Уважаемые форумчане, наткнулся на следующую ситуацию.
Если в описании порядка сортировки логической таблице добавить сортировку по полю, которое не используется в индексе,
то компилятор не выдаёт никаких предупреждений, но выборка не создаётся. Точнее, в ней появляется только одна запись.
Компиляция производится с выводом всех сообщений и усилением строгости языка.
Как можно отлавливать такие ситуации?
Программист-самоучка
Den
Местный житель
Сообщения: 1844
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Re: Особенности работы сортировки

Сообщение Den »

ну там в лог компиляции вроде грят в таких случаях что то вроде "Сортировка реализуется на внешней выгрузке...."
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Re: Особенности работы сортировки

Сообщение Алексей »

по идее, если запрос составлен правильно, то сортировка по безиндексному полю просто увеличивает время выборки, но не должно влиять на результат.
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: Особенности работы сортировки

Сообщение edward_K »

лучше выгрузить во временную таблу с полем sortname и заполнить его по своему разумению - это надежней.
Если в индекс не попали - то идет автоматическое формирование аналога - "внешняя выгрузка". Глюки с ней бывали разные - главный значительное увеличение времени выборки, да и в случае изменения постоянно идет ее перестройка - для больших данных не приемлимо. Почему одна запись нужно смотреть на запрос. Да и код вывода тоже.
Ответить