gpt4 book ai didi

mysql - 如何确定mysql分区数

转载 作者:可可西里 更新时间:2023-11-01 08:52:28 25 4
gpt4 key购买 nike

我有一个巨大的 mysql 表(用于日志记录)。像这样的东西:

记录器(sha1) 时间戳 Action

因此预计会有大约 10 万个记录器。每个日志记录平均说 100 行。这将使表格很快达到大约 1 亿行。

我需要快速完成插入(实际上是追加),因为很多记录器会同时写入条目。

通常查询是“给我按日期排序的记录器‘x’的所有日志”。

所以我打算使用 mysql 分区:http://dev.mysql.com/doc/refman/5.1/en/partitioning.html

我的问题是,如何找到分区数量和分区大小之间的平衡点?

由于记录器是一个 UUID 并且是一个 sha1 数字,我想让 mysql 只为每个 sha1 值创建一个分区,所以基本上每个记录器都会有自己的数据库表文件。

感谢任何其他建议

最佳答案

将某物拆分为指定数字的一种简单方法是使用取模函数。

因此,也许如果您采用 SHA1 哈希的前 4 个十六进制字符,将它们转换为整数(产生高达 65,025)和 mod 1024,如下所示:

aa00 % 1024 = 512

十进制

43520 % 1024 = 512

所有返回 512 的数字都可以放在同一个分区中。计算将产生 0 到 1023 之间的值。

关于mysql - 如何确定mysql分区数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11193450/

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