gpt4 book ai didi

mysql - 我如何使用毫秒(bigInt)值来使用 mysql 分区?

转载 作者:行者123 更新时间:2023-11-29 19:34:23 25 4
gpt4 key购买 nike

我想使用mysql分区功能。

我有一列 log_time,其中我将毫秒存储为 bigint(假设我无法更改它)。

我想要 31 个分区,每天一个(使用 log_time 值计算)。

我尝试过:

alter table my_table partition by hash(day(from_unixtime(log_time/1000))) partitions 31;

我得到:不允许使用此分区函数。

似乎 mysql 只允许特定函数成为要计算的哈希的一部分以进行分区,并且 from_unixtime() 似乎不是其中之一(?)

如何在 log_time 上实现此分区?

提前致谢。

最佳答案

不要使用BY HASH,它不会像你想象的那样工作。特别是它不会加快您的处理速度。

而是考虑BY RANGE,并且不要使用复杂的公式。不要将毫秒压缩为一天,而是采取另一种方式——将日常量扩展为毫秒。

由于您似乎要清除旧数据,因此 BY RANGE 更适合 - 您只需DROP PARTITIONREORGANIZE 即可获得新的一天的值(value)。有关更多讨论,请参阅此:http://mysql.rjweb.org/doc.php/partitionmaint

关于mysql - 我如何使用毫秒(bigInt)值来使用 mysql 分区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41612835/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com