Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Оптимизация поиска по ФИО в БД, индексы, PostgreSQL 
V
    Опции темы
RockClimber
Дата 11.8.2008, 09:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 848
Регистрация: 5.5.2006
Где: планета 013 в тен туре

Репутация: нет
Всего: 15



В таблице со списком людей порядка 30000 записей, объем будет расти. Я правильно понимаю, что для поиска лучше ФИО разбить на составляющие и хранить в трех полях, каждое из которых индексировать? И насколько скорость поиска будет отличаться между вариантами "ФИО в одном поле" и "ФИО разбито по 3 полям" (в смысле на порядок или на 1%)?

P. S. Прошу прощения, не туда написал... Перенесите в базы данных, пожалуйста...

Это сообщение отредактировал(а) RockClimber - 11.8.2008, 09:35


--------------------
Хорошо кинутый дятел далеко летит, крепко встревает, долго торчит.
PM MAIL GTalk   Вверх
Poseidon
Дата 11.8.2008, 09:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: 3
Всего: 133



ФИО лучше всегда разбивать на 3 поля хотя бы только потому, что может потом потребоваться поиск по только имени. Конечно, можно и с одного поля достать только имя, но геморууу...

Цитата(RockClimber @  11.8.2008,  09:34 Найти цитируемый пост)
И насколько скорость поиска будет отличаться между вариантами "ФИО в одном поле" и "ФИО разбито по 3 полям"
Все зависет от маски поиска. Если подставлять ФИО и искать все в одном поле, то будет быстрее, чем искать в трех. А если подставляем только Фамилию, то быстрее будет когда в трех полях.

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



--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0418 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.