Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / ASC и DESC в одном запросе и индексы / 8 сообщений из 8, страница 1 из 1
29.08.2003, 11:52
    #32251122
koff4
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASC и DESC в одном запросе и индексы
Часто для различных полей требуется разный порядок сортировки. Например хотим мы вывести историю платежей по клиентам. Для пользователя удобно будет наблюдать результаты вот чего:

select * from payhist order by paydate desc, clientname asc

Вся загвоздка в том, что мы не можем создавать индексы с различным порядком сортировки полей. То есть в индексе либо все поля сортируются по убыванию, либо все по возрастанию. В итоге возможна только NATURAL-выборка. Пробовал делать индексы только по одному полю - без толку. Может у кого есть по этому поводу идеи ???
...
Рейтинг: 0 / 0
29.08.2003, 12:34
    #32251208
Gold
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASC и DESC в одном запросе и индексы
По первому полю сделай индекс по убыванию, по второму - по возростанию.
...
Рейтинг: 0 / 0
29.08.2003, 14:04
    #32251428
koff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASC и DESC в одном запросе и индексы
Не помогает. Все тот же Natural.
...
Рейтинг: 0 / 0
29.08.2003, 14:24
    #32251479
fedd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASC и DESC в одном запросе и индексы
без натурала не могу представить себе как отсортировать по двум полям, даже если и оба asc
(и нет индекса из двух полей)
...
Рейтинг: 0 / 0
29.08.2003, 14:35
    #32251505
golg
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASC и DESC в одном запросе и индексы
Да, и вправду так. Только что попробовал на FB1.5. Напишите в конференцию news://forums.demo.ru/psylon.public.interbase - самому интересно, что они посоветуют. Может там руками как-то можно план задать ...
...
Рейтинг: 0 / 0
29.08.2003, 14:41
    #32251516
fedd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASC и DESC в одном запросе и индексы
импосибл!
...
Рейтинг: 0 / 0
29.08.2003, 14:44
    #32251528
Zmeishe
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASC и DESC в одном запросе и индексы
Если я не прав, то спишите это на усталость под конец недели.
Но с моей больной головой думаю, что твой NATURAL из-за того, что ты своим запросом выбираешь ВСЕ записи из таблицы

Код: plaintext
select * from payhist order by paydate desc, clientname asc 


Попробуй всё-таки поставить условие WHERE и посмотри, что получится.
Natural или не Natural.
...
Рейтинг: 0 / 0
29.08.2003, 15:11
    #32251590
fedd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASC и DESC в одном запросе и индексы
кажется, если есть сортировка, индекс должен использоваться, даже если все записи... но не в этом случае
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / ASC и DESC в одном запросе и индексы / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]