Хранение значений в алфавитных столбцах? - PullRequest
2 голосов
/ 01 января 2011

Есть ли какая-либо польза от хранения алфавитного контента в столбцах?Может быть, сделать поиск быстрее?Если да, то когда я добавляю новые значения поиска в мои таблицы, нужно ли перестраивать PK, чтобы значения поиска соответствовали новому тексту?Скажем так:

City_tbl
city_id: пример: 1120
City_name: пример: Нью-Йорк.

Если мне нужно добавить в него Чикаго, добавлю ли я его внизу списка со следующим идентификатором, который может быть 2000, или вставлю его после города в алфавитном порядке, что означало бы, что мне нужнообновите PK Id всех следующих идентификаторов на 1.

Единственное преимущество, о котором я знаю, это то, что когда мне приходится вручную добавлять значения поиска без запроса к базе данных, я могу быстро проверить список значений поиска для легкого выхода из элементов.Но не уверен, что это может сделать поиск быстрее или что-то еще, если система знает, что текст в алфавитном порядке.

1 Ответ

1 голос
/ 01 января 2011

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

Я бы сделал автоматическое увеличение столбца PK, оставив обновление для базы данных.Я бы добавил индекс в столбец с названием города, чтобы вы могли выполнять поиск по названию как можно быстрее.

Вы предполагаете, что понимаете что-то о физическом хранилище базы данных.В лучшем случае ваши усилия не будут иметь никакого эффекта;в худшем случае вы испортите быстрый доступ, который вам уже предоставит правильно проиндексированное b-дерево.

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