LINUX.ORG.RU

Как лучше разделить данные в БД


0

0

Добрый день!
Такой вопрос: есть данные, которые классифицированы по определённому полю(полям), будет ли значительная разница в производительности между двумя схамами разделения данных:
1. использование разных таблиц, классификатором является имя таблицы
2. использование одной таблицы + доп.поле(поля)-классификатор + индекс по этому полю(полям).
Выборка/изменение/удаление производится в осноном только над одним классом за раз. При этом операций над одним из классов происходит больше чем над другим. Заморачиваться с несколькими таблицами не очень хочется, поэтому интересует спасёт ли индекс ?
Спасибо.


О_о. Для того оно и служит вобщем-то. Но у тебя зависит от объёмов информации. Порядок назови хотя бы.

Anoxemian ★★★★★
()
Ответ на: комментарий от Anoxemian

Да нет, вы не поняли, данные очень похожи, отличаются только одним полем, и городить огород с сотней таблиц не очень хочется, но если на одной таблице всё будет тормозить, то придётся городить, надо сейчас выбрать схему, потом поменять будет проблематично.
>Порядок назови хотя бы.
БД пока в разработке, но ожидается много записей, около 10000 в день, классифицируются как раз по дате.
Или может быть такая схема: класс над которыми происходит больше операций в выделенную таблицу, остальное всё в другую.
Но предпочтение - хранить всё в одной таблице.

anonymous
()
Ответ на: комментарий от anonymous

Если данные отличаются только одним полем, то это поле и надо вынести в отдельную таблицу. Чтобы было единое представление - сделать view. Принцип реляционности для этого и придумывали.

Anoxemian ★★★★★
()
Ответ на: комментарий от Anoxemian

не очень понял, зачем поле выводить в отдельную таблицу

xeb
() автор топика

Правильно ли я понимаю, что любой запрос будет иметь WHERE вида

WHERE classifier=something AND ...

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

DBMS какая? может partitioning по этому полю сделать?

gods-little-toy ★★★
()
Ответ на: комментарий от gods-little-toy

>Правильно ли я понимаю, что любой запрос будет иметь WHERE вида
именно
>DBMS какая?
postgres
>может partitioning по этому полю сделать?
эт как ?

anonymous
()
Ответ на: комментарий от gods-little-toy

про партиции нашел инфо, спасибо, это то что нужно

xeb
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.