Как отсортировать список из 1 миллиона записей по первой букве названия - PullRequest
1 голос
/ 21 февраля 2012

У меня есть таблица с 1 миллионом + записей, которые содержат имена.Я хотел бы иметь возможность сортировать список по первой букве в имени.

.. ABCDEFGHIJKLMNOPQRSTUVWXYZ

Какой самый эффективный способ настроить таблицу БД для поиска попервый символ в поле table.name?

Лучшая идея сейчас - добавить дополнительное поле, которое хранит первый символ имени в качестве наблюдателя, проиндексировать это поле и затем отсортировать по этому полю.Проблема в том, что это больше не обязательно в алфавитном порядке.

Есть предложения?

Ответы [ 2 ]

1 голос
/ 18 марта 2012

Вы сказали в комментарии:

так что давайте проигнорируем первую часть буквы. Как я могу все записи, которые начинаются с A? Все А нет B ... Z? Спасибо - AnApprentice 21 февраля в 15:30

Полагаю, вы имели в виду How can I RETURN all records...

Это ответ:

select * from t
where substr(name, 1, 1) = 'A'
0 голосов
/ 18 марта 2012

Я согласен с приведенными выше вопросами о том, почему вы хотите сделать это - регулярный индекс для всего поля функционально эквивалентен.PostgreSQL (с некоторыми новыми в v. 9) имеет довольно мощные возможности индексирования для особых случаев, о которых вы можете прочитать здесь http://www.postgresql.org/docs/9.1/interactive/sql-createindex.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...