SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 05.06.2011 00:09:03

rdk
Участник
Зарегистрирован: 04.06.2011
Сообщений: 8

Оптимизация таблицы

Доброго времени суток,  люди знающие.
Подскажите, посоветуйте по следующей проблеме....

Ведется разработка системы управления и учета клиентов  тур оператора, который предоставляет услуги по паломничеству. Область весьма спецефична...Вобщем, есть мастер таблица, куда заносятся основные данные паломников, ну и внешние ключи к другим таблицам. Каждый год, регистрируются 3000-4000 паломников. На каждого паломника приходится еще 5-7 записей в других записях. Для БД это не такие большие объемы. Но все же меня терзает вопрос...К примеру...запси сделанные 2009 г (т.е. паломники сезона 2009) они пркатически не используются в 2010. а записи за 2009 и 2010гг не актульны в 2011...Все они хранятся в одной таблице (в смысле нет разделения таблиц по годам) и пологаю, что педоставляют некую нагрузку при работе с данными за текущий год. Стоит ли беспокоится по данному поводу? Каким образом можно оптимизировать таблицу в данной ситуации?Подскажите пожалуйста в каком напрвлении думать и работать?

Неактивен

 

#2 05.06.2011 11:22:54

evgeny
Гуру
Зарегистрирован: 04.05.2009
Сообщений: 335

Re: Оптимизация таблицы

Вообще для таких случаев есть такая вещь как  Партиционирование таблиц (partitioning)
Но в вашем конкретном случае, у вас очень мало записей, не думаю что вам стоит беспокоится. В крайнем случае если количество паломников резко увеличится, то на partitioning можно перейти всегда.

Неактивен

 

#3 05.06.2011 11:35:09

rdk
Участник
Зарегистрирован: 04.06.2011
Сообщений: 8

Re: Оптимизация таблицы

Спасибо!!! Попробовал разобраться в партициях. суть уловил. Однако....

1) Если при разработке БД не учитывать партицирование,  возможно ли при необходимости применить его уже  к разработанной и активно используемой системе, невнося кординальные изменения в структура БД?

2) Если применить партицирование к основной таблице (имеетя в виду, что она уже содержит множества записей), то как отразится это на запросах, в которых содержатья ссылки на эту таблицу? Ведь после партицирования одна большая табл разбивается на несколько? Или запросы смогут увидеть эти табл как одну целую?

3) "Foreign keys not supported.  Partitioned tables do not support foreign keys..." В моем случае, табл. которую возможно понадобится оптимизровать, содержит внешние ключи. Получается к данной табл не пременимо партицирование?\

4) Партишининг - это скорее  девелепмент или администрирование?Имеетя в виду, его нуно учитывать уже  при разработке БД?

Прошу прощения,если вопросы совсем глупые. Совсем зеленый пока...Но хочу созреть...

Отредактированно rdk (05.06.2011 14:11:16)

Неактивен

 

#4 05.06.2011 15:11:27

evgeny
Гуру
Зарегистрирован: 04.05.2009
Сообщений: 335

Re: Оптимизация таблицы

1) Да
2) Да смогут. Запросы будут видеть как одну целую, но естественно преимущество в скорости будет при выборки данных из одной части.
3) Это надо проверить ...
4) В вашем случае, можно раз в году ручками создавать, а можно и автоматом сделать ...

Ну а вообще при таких мелких обьёмах вам это вообще не надо ... :-)

Неактивен

 

#5 06.06.2011 20:06:06

rdk
Участник
Зарегистрирован: 04.06.2011
Сообщений: 8

Re: Оптимизация таблицы

Спасибо за поддержку!))

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson