Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Отмимальный поиск по БД / 7 сообщений из 7, страница 1 из 1
15.07.2007, 00:46
    #34659405
andrewi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отмимальный поиск по БД
Ситуация следующая:
Есть >100,000 человек, у каждого человека есть произвольный набор характеристик описывающий его как личность.

Вопрос:
как спроектировать БД, что бы оптимизировать поиск всех людей по заданной характеристики?
запросы довольно частые.

единственное оптимальное решение которое мне приходит в голову - таблица с ключом на "характеристики".
может быть есть какие-нибудь еще варианты?
...
Рейтинг: 0 / 0
15.07.2007, 04:09
    #34659419
drev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отмимальный поиск по БД
andrewiСитуация следующая:
Есть >100,000 человек, у каждого человека есть произвольный набор характеристик описывающий его как личность.

Вопрос:
как спроектировать БД, что бы оптимизировать поиск всех людей по заданной характеристики?
запросы довольно частые.

единственное оптимальное решение которое мне приходит в голову - таблица с ключом на "характеристики".
может быть есть какие-нибудь еще варианты?

Если набор характеристик произволен и может быть иерархичен - добавить XML Type и завести по нему индекс, ИМХО, и если база позволяет это:)
...
Рейтинг: 0 / 0
29.08.2007, 23:03
    #34763128
bug_scorobey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отмимальный поиск по БД
А готовое решение интересно только работает оно с масштабами от 10 000 000 млн записей,а то меньше как то не интересно
пишите
...
Рейтинг: 0 / 0
29.08.2007, 23:04
    #34763129
bug_scorobey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отмимальный поиск по БД
bug_scorobeyА готовое решение интересно только работает оно с масштабами от 10 000 000 млн записей,а то меньше как то не интересно
пишите

P4 1гб озу 40 гб диск бд sql2005
...
Рейтинг: 0 / 0
30.08.2007, 08:52
    #34763365
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отмимальный поиск по БД
andrewiкак спроектировать БД
Как вариант можно предлажить такое решение:

Таблица 1 "Граждане"
- код
какие-то данные

Таблица 2 "Характеристики"
- код
какие-то данные

Таблица 3 "Характеристики граждан"
- код
- код гражданина
- код характеристики
какие-то данные
...
Рейтинг: 0 / 0
31.08.2007, 20:54
    #34769312
Senja
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отмимальный поиск по БД
Лучше всего сделать так: все таки найти те признаки, которые есть у всех или у большинства, и реализовать их в виде отдельных столбцов в таблице. Остальные признаки хранить в виде XML или в виде отдельной таблицы "человек-признак-значение". В виду специфики реализации XML-индексов в MSSQL2005 эти два варианта суть одно и то же.

Для основных признаков, хранящихся как отдельные столбцы, построить индексы. Пользователям запретить выполнять запросы в которых не задан хотя бы один основной признак.

Вот в таком случае у вас все это будет нормально работать при 100,000 строк в таблице.

Если у вас нет признаков, присущих большинству, не надо вообще пихать это в РСУБД. Храните данные например в XML.
...
Рейтинг: 0 / 0
31.08.2007, 21:31
    #34769342
kittn2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отмимальный поиск по БД
SenjaXML
Ничего лучшего для торможения работы пока не придумано
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Отмимальный поиск по БД / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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