|
Партицирование Timestamp
|
|||
---|---|---|---|
#18+
Добрый день. Имеется таблица: CREATE TABLE test.tab_part( date_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, user_id int(5) DEFAULT NULL ); Нужно сделать партиции по существующей таблице через alter table на сегодняшний и вчерашний день через вызов now() . Делал так: ALTER TABLE tab_partPARTITION BY RANGE (UNIX_TIMESTAMP(date_time )) (PARTITION p2019_11_06 VALUES LESS THAN (NOW()), PARTITION p2019_11_05 VALUES LESS THAN (date_add(NOW(), INTERVAL -1 DAY))); Получаю ошибку: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed Изучив все, что пишут - не нашел ответа для себя. Понятно, что поле должно быть INT, но варианты с to_days/UNIX_TIMESTAMP и остальные попытки не дали результаты. Помогите разобраться, что не так? Либо если есть другие варианты как получить партиции за сегодня и вчера. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2019, 10:54 |
|
Партицирование Timestamp
|
|||
---|---|---|---|
#18+
авторLESS THAN (NOW()), И как это должно работать? Каждую 0.000001с перемещать строки? Партицирование должно выполняться по постоянному признаку. Например, все строки по полю от 2019-11-01 до 2019-12-01. PARTITION BY RANGE (date_time ) PARTITION p2019_11_06 VALUES LESS THAN ('2019-11-07') если меня память о синтаксисе mysql не обманывает. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2019, 11:33 |
|
Партицирование Timestamp
|
|||
---|---|---|---|
#18+
jus Нужно сделать партиции по существующей таблице Пока нет ответов - и вопрос, и даже само мероприятие, не имеют смысла. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2019, 11:45 |
|
Партицирование Timestamp
|
|||
---|---|---|---|
#18+
Melkij, ok. К примеру, делаю ALTER TABLE tab_part PARTITION BY RANGE (to_days(date_time )) (PARTITION p2019_11_06 VALUES LESS THAN (to_days(NOW())), PARTITION p2019_11_05 VALUES LESS THAN (to_days(date_add(NOW(), INTERVAL -1 DAY)))); Получаю ту же ошибку. Здесь же постоянный признак? Получено точное число в 1 день. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2019, 11:54 |
|
Партицирование Timestamp
|
|||
---|---|---|---|
#18+
jus Здесь же постоянный признак? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2019, 11:55 |
|
Партицирование Timestamp
|
|||
---|---|---|---|
#18+
Akina, где-то в правилах форума есть вопрос зачем user это делает. Это часть очень большой задачи, которой я интересуюсь. Хочу сделать маленькую, чтобы решить большую. Большая заключается, в партицировании таблицы по дням и разные функции к этому. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2019, 11:56 |
|
Партицирование Timestamp
|
|||
---|---|---|---|
#18+
Akina, to_days(now()) не тянет? Почему? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2019, 11:57 |
|
Партицирование Timestamp
|
|||
---|---|---|---|
#18+
Akina, из-за того что будет изменяться изо дня в день? Из-за этого? То есть по синтаксису там всегда конкретное значение? не переменное ото дня? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2019, 11:58 |
|
Партицирование Timestamp
|
|||
---|---|---|---|
#18+
jus из-за того что будет изменяться изо дня в день? Из-за этого? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2019, 13:09 |
|
Партицирование Timestamp
|
|||
---|---|---|---|
#18+
jus в партицировании таблицы по дням https://dev.mysql.com/doc/refman/8.0/en/partitioning-types.html A very common use of database partitioning is to segregate data by date. Some database systems support explicit date partitioning, which MySQL does not implement in 8.0. However, it is not difficult in MySQL to create partitioning schemes based on DATE, TIME, or DATETIME columns, or based on expressions making use of such columns. When partitioning by KEY or LINEAR KEY, you can use a DATE, TIME, or DATETIME column as the partitioning column without performing any modification of the column value. For example, this table creation statement is perfectly valid in MySQL: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2019, 14:53 |
|
|
start [/forum/topic.php?fid=47&msg=39885644&tid=1828874]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
55ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
others: | 305ms |
total: | 463ms |
0 / 0 |