Почитал документацию. Но остались вопросы. У меня есть большая БД которую нужно ускорить т.к. есть тормоза при вставке новых данных (тестировал с индексами и без).
В документации показаны примеры. Когда создается базовая таблица table_base и дальше от нее создаются партишены, допустим по дате вида: table_base_2015, table_base_2016, table_base_2017, table_base_2018 и тд.
И дальше в момент Insert'a нужно указать правильную таблицу для данных (я же правильно понял?) INSERT INTO table_base_2018 ...
А в момент выборки можно будет выбирать из главное таблицы и она будет учитывать данные из своих паршитенов. Верно?
Вопрос в следующем. Можно ли создать партишен под названием
table_base_latest куда бы попадали данные только за последние 365 дней, а остальные а остальные складирвоались без в какой-нибудь table_base_tail который бы содержал все оставшиеся данные?
beduin01, ни в одной современной СУБД нет партиционирования, при котором границы разделов зависят от текущего времени. Ибо будь такой - это привело бы к постоянной миграции записей из одной партиции в другую.
beduin01, а вот статические константные границы - сколько угодно.
Но я всё равно не понимаю, на[censored] нужно представлять разделы как отдельные таблицы. Чтобы потом в них путаться? чтобы решать задачу выбора правильной субтаблицы, а при ошибке любоваться на [censored]? Оставь одну таблицу с разделами, сервер сам, без помощи, разберётся, что куда класть и когда где смотреть.
beduin01, не, разделы будете создавать Вы (но именно разделы, а не новые таблицы, присоединяемые к надтаблице как новые разделы), причём изрядно заранее. Даже можно это зашедулить в какую-нибудь сервисную процедуру. Скажем, в ежедневный бэкап - ну не проблема же проверить текущую дату и факт наличия партиции под данные следующего квартала, а? тем более когда это всего одна строка типа CALL check_partition_structure();
А вот когда разделы есть, и сервер чётко знает, в каком разделе какие данные лежат, он без проблем при выполнении запроса может (если условия отбора позволяют) обращаться только к тем разделам, в которых нужные данные присутствуют.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.