powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Партицирование
13 сообщений из 13, страница 1 из 1
Партицирование
    #39302645
svarg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Народ помогите с партицированием!
Есть такая таблица

CREATE TABLE sens.tags (
ID bigint(20) UNSIGNED ZEROFILL NOT NULL,
date_set datetime(3) DEFAULT NULL,
iv int(11) DEFAULT NULL,
PRIMARY KEY (ID)
)

необходимо разбить на 3 секции(партиции) по date_set
1. date_set - данные 2-х последних дней
2. date_set - данные недели (5 дней)
2. date_set - все остальное
...
Рейтинг: 0 / 0
Партицирование
    #39302649
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svarg,

А каков смысл такого секционирования? Опишите всю задачу целиком.

И разбить-то можно, но записи просто так мигрировать не будут. Т.е. завтра в первой секции будут данные за последние три дня.
...
Рейтинг: 0 / 0
Партицирование
    #39302655
svarg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Задача писать телеметрию. Это порядка 300 ins/sec.
А потом читать: 60% за первые 40 часов, 30% - неделя, 10% остальные
...
Рейтинг: 0 / 0
Партицирование
    #39302663
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svargЗадача писать телеметрию. Это порядка 300 ins/sec.А читать потом нужно по одному значению? Или как?
svargА потом читать: 60% за первые 40 часов, 30% - неделя, 10% остальныеЯ бы предложил секционировать посуточно/понедельно. Если, конечно, есть железная уверенность, что это вообще нужно и другие методы (например, правильные индексы) уже не помогают.
...
Рейтинг: 0 / 0
Партицирование
    #39302777
svarg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft,
читать за период
Если знаешь как напиши почуточно/понедельно я потом переделаю как надо.
Правильные индексы, правильные запросы помогают.
Хочется лучше и быстее. Объем базы большой - более 600Гб.
...
Рейтинг: 0 / 0
Партицирование
    #39302828
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svargчитать за периодsvargХочется лучше и быстее.Показывайте конкретные запросы чтения.
...
Рейтинг: 0 / 0
Партицирование
    #39302836
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svargЕсли знаешь как напиши почуточно/понедельноВ доке есть пример: http://dev.mysql.com/doc/refman/5.7/en/partitioning-range.html
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
CREATE TABLE members (
    firstname VARCHAR(25) NOT NULL,
    lastname VARCHAR(25) NOT NULL,
    username VARCHAR(16) NOT NULL,
    email VARCHAR(35),
    joined DATE NOT NULL
)
PARTITION BY RANGE COLUMNS(joined) (
    PARTITION p0 VALUES LESS THAN ('1960-01-01'),
    PARTITION p1 VALUES LESS THAN ('1970-01-01'),
    PARTITION p2 VALUES LESS THAN ('1980-01-01'),
    PARTITION p3 VALUES LESS THAN ('1990-01-01'),
    PARTITION p4 VALUES LESS THAN MAXVALUE
);
...
Рейтинг: 0 / 0
Партицирование
    #39302879
svarg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoftsvargЕсли знаешь как напиши почуточно/понедельноВ доке есть пример: http://dev.mysql.com/doc/refman/5.7/en/partitioning-range.html
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
CREATE TABLE members (
    firstname VARCHAR(25) NOT NULL,
    lastname VARCHAR(25) NOT NULL,
    username VARCHAR(16) NOT NULL,
    email VARCHAR(35),
    joined DATE NOT NULL
)
PARTITION BY RANGE COLUMNS(joined) (
    PARTITION p0 VALUES LESS THAN ('1960-01-01'),
    PARTITION p1 VALUES LESS THAN ('1970-01-01'),
    PARTITION p2 VALUES LESS THAN ('1980-01-01'),
    PARTITION p3 VALUES LESS THAN ('1990-01-01'),
    PARTITION p4 VALUES LESS THAN MAXVALUE
);



Яндексом пользоваться умею. Это я читал.
Есть конкретная задача.


CREATE TABLE sens.tags (
ID bigint(20) UNSIGNED ZEROFILL NOT NULL,
date_set datetime(3) DEFAULT NULL,
iv int(11) DEFAULT NULL,
PRIMARY KEY (ID)
)

необходимо разбить на 3 секции(партиции) по date_set
1. date_set - данные 2-х последних дней
2. date_set - данные недели (5 дней)
2. date_set - все остальное
...
Рейтинг: 0 / 0
Партицирование
    #39302895
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svarg,

Ну если вы так настаиваете:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
CREATE TABLE sens.tags (
ID bigint(20) UNSIGNED ZEROFILL NOT NULL,
date_set datetime(3) DEFAULT NULL,
iv int(11) DEFAULT NULL,
PRIMARY KEY (ID)
)
PARTITION BY RANGE COLUMNS(date_set) (
    PARTITION p0 VALUES LESS THAN ('2016-08-27'),
    PARTITION p1 VALUES LESS THAN ('2016-09-01'),
    PARTITION p2 VALUES LESS THAN MAXVALUE
);

Но это по состоянию на сегодняшний день. А завтра, как я уже говорил, оно превратится в тыкву.
...
Рейтинг: 0 / 0
Партицирование
    #39302918
svarg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот и у меня не получилось с привязкой к текущей дате
...
Рейтинг: 0 / 0
Партицирование
    #39302919
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svargВот и у меня не получилось с привязкой к текущей датеИ не получится.
miksoftзаписи просто так мигрировать не будут
...
Рейтинг: 0 / 0
Партицирование
    #39302933
svarg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft,
уже получилось
...
Рейтинг: 0 / 0
Партицирование
    #39302935
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svargmiksoft,
уже получилосьИ как же?
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Партицирование
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]