|
|
|
Отмимальный поиск по БД
|
|||
|---|---|---|---|
|
#18+
Ситуация следующая: Есть >100,000 человек, у каждого человека есть произвольный набор характеристик описывающий его как личность. Вопрос: как спроектировать БД, что бы оптимизировать поиск всех людей по заданной характеристики? запросы довольно частые. единственное оптимальное решение которое мне приходит в голову - таблица с ключом на "характеристики". может быть есть какие-нибудь еще варианты? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2007, 00:46 |
|
||
|
Отмимальный поиск по БД
|
|||
|---|---|---|---|
|
#18+
andrewiСитуация следующая: Есть >100,000 человек, у каждого человека есть произвольный набор характеристик описывающий его как личность. Вопрос: как спроектировать БД, что бы оптимизировать поиск всех людей по заданной характеристики? запросы довольно частые. единственное оптимальное решение которое мне приходит в голову - таблица с ключом на "характеристики". может быть есть какие-нибудь еще варианты? Если набор характеристик произволен и может быть иерархичен - добавить XML Type и завести по нему индекс, ИМХО, и если база позволяет это:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2007, 04:09 |
|
||
|
Отмимальный поиск по БД
|
|||
|---|---|---|---|
|
#18+
А готовое решение интересно только работает оно с масштабами от 10 000 000 млн записей,а то меньше как то не интересно пишите ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2007, 23:03 |
|
||
|
Отмимальный поиск по БД
|
|||
|---|---|---|---|
|
#18+
bug_scorobeyА готовое решение интересно только работает оно с масштабами от 10 000 000 млн записей,а то меньше как то не интересно пишите P4 1гб озу 40 гб диск бд sql2005 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2007, 23:04 |
|
||
|
Отмимальный поиск по БД
|
|||
|---|---|---|---|
|
#18+
andrewiкак спроектировать БД Как вариант можно предлажить такое решение: Таблица 1 "Граждане" - код какие-то данные Таблица 2 "Характеристики" - код какие-то данные Таблица 3 "Характеристики граждан" - код - код гражданина - код характеристики какие-то данные ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2007, 08:52 |
|
||
|
Отмимальный поиск по БД
|
|||
|---|---|---|---|
|
#18+
Лучше всего сделать так: все таки найти те признаки, которые есть у всех или у большинства, и реализовать их в виде отдельных столбцов в таблице. Остальные признаки хранить в виде XML или в виде отдельной таблицы "человек-признак-значение". В виду специфики реализации XML-индексов в MSSQL2005 эти два варианта суть одно и то же. Для основных признаков, хранящихся как отдельные столбцы, построить индексы. Пользователям запретить выполнять запросы в которых не задан хотя бы один основной признак. Вот в таком случае у вас все это будет нормально работать при 100,000 строк в таблице. Если у вас нет признаков, присущих большинству, не надо вообще пихать это в РСУБД. Храните данные например в XML. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2007, 20:54 |
|
||
|
|

start [/forum/topic.php?fid=32&gotonew=1&tid=1544326]: |
0ms |
get settings: |
7ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
153ms |
get topic data: |
9ms |
get first new msg: |
5ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
| others: | 196ms |
| total: | 438ms |

| 0 / 0 |
