![]() |
Модераторы: LSD |
![]() ![]() ![]() |
|
knighter |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 10.4.2006 Репутация: нет Всего: нет |
Ситуация:
БД на 10000 пользователей, для кадого пользователя есть некоторый объем информации, которую можно хранить как в отдельной таблице, там и в виде строки (приходится парсить). Вопрос такой: Каким образом лучше организовать структуру БД, с точки зрения быстродействия? - 10000 таблиц (1 таблица для каждого пользователя); - 1 таблица для всех пользователей. |
|||
|
||||
boevik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1452 Регистрация: 31.5.2004 Где: Израиль Репутация: 6 Всего: 35 |
Если данные однородные, то конечно одна таблица.
10000 записей это и не нагрузка, при нормальных индексах. -------------------- Никогда не говори никогда |
|||
|
||||
Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 14 Всего: 207 |
одна таблица
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
knighter |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 10.4.2006 Репутация: нет Всего: нет |
Допустим таблица одна.
Для каждого пользователя нобходимо хранить переменное во времени количество объектов (не одного формата). Если для каждого объекта создавать запись, то с индексацией будут понты. Есть вариант для каждого пользователя использовать только одну запись, содер. строку, описывающую объекты пользователя. При добавлении/удалении объекта строка парситься, переформировывается и сохранияется. Хочу услышать ваше мнение по этому поводу. |
|||
|
||||
Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 14 Всего: 207 |
Очень трудно понять что именно вы имеете ввиду, но таблица по своей сути должна хранить однородные данные, если предполагается в таблице хранить разнородные данные, значит Вы что-то неправильно спроектировали, а данные должны быть разбиты не по критерию пользователей, а по критерию зависимостей друг от друга и однородности (см. умные книжки по базам данных, раздел "нормализация данных"). Сам по себе критерий "Пользователь" не лучше и не хуже любого другого критерия - рост, цена, имя, объект, свойство или что-то ещё.
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
nostromo |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 194 Регистрация: 23.3.2006 Репутация: нет Всего: 10 |
10000 пользователей, насколько я понимаю,
следует понимать как данные, которые сравнительно часто меняются (пользователи добавляются и удаляются). В случае заведения на каждого пользователя по таблице это приведет к регулярному изменению метаданных (структуры базы данных), а реляционные СУБД этого очень не любят (вспомните, почему нельзя сделать переменную TableName и делать в праметризованные по имени таблицы запросы?). Этот путь однозначно плохой. Если не хочется заморачиваться с нормализацией и нужно упростить парсинг, то можно попробовать хранить часть данных в XML формате. Это особенно удобно, когда вы со временем захотите добавлять/удалять/усложнять какие-то поля. Минус такого подхода -- сложность индексации по инкапсулированным в XML полям. --------------------
На пыльных тропинках далеких планет останутся наши следы. |
|||
|
||||
THenry |
|
|||
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 13.9.2005 Репутация: нет Всего: нет |
1 Таблица + Нормализация до 3НФ
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Общие вопросы по базам данных" | |
|
Данный форум предназначен для обсуждения вопросов о базах данных не попадающих под тематику других форумов:
Данный форум не предназначен для:
Если вы не соблюдаете эти правила, не удивляйтесь потом не найдя свою тему/сообщение.
Полезные советы: Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, LSD, Zloxa. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | СУБД, общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |