Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何确定mysql分区的数量_Mysql_Database_Partitioning_Mysql Management_Database Performance - Fatal编程技术网

如何确定mysql分区的数量

如何确定mysql分区的数量,mysql,database,partitioning,mysql-management,database-performance,Mysql,Database,Partitioning,Mysql Management,Database Performance,我有一个巨大的mysql表(用于日志记录)。比如: 记录器(sha1) 时间戳 行动 因此,预计约有10万名伐木工人。每个日志平均显示100行。这将很快使表达到大约1亿行 我需要有插入(真正的附录)做得相当快,因为许多记录者一次写条目 一般来说,查询将是“提供记录器“x”中的所有日志,按日期排序” 所以我打算使用mysql分区: 我的问题是,如何在分区数量和分区大小之间找到平衡 由于记录器是一个UUID,是一个sha1编号,所以我想让mysql只为每个sha1值创建一个分区,因此基本上每个记录器

我有一个巨大的mysql表(用于日志记录)。比如:

记录器(sha1) 时间戳 行动

因此,预计约有10万名伐木工人。每个日志平均显示100行。这将很快使表达到大约1亿行

我需要有插入(真正的附录)做得相当快,因为许多记录者一次写条目

一般来说,查询将是“提供记录器“x”中的所有日志,按日期排序”

所以我打算使用mysql分区:

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

由于记录器是一个UUID,是一个sha1编号,所以我想让mysql只为每个sha1值创建一个分区,因此基本上每个记录器都有自己的DB表文件


任何其他建议

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

因此,如果您获取SHA1散列的前4个十六进制字符,将其转换为整数(最多生成65025个)和mod 1024,如下所示:

aa00 % 1024 = 512
十进制

43520 % 1024 = 512

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

因此,分区的最大数量是1024。现在我想我需要一些算法,将sha1值平均分割成1024个不同的分区。或者关于为什么1024个分区是个坏主意的建议。所以我想按哈希分区:-但问题仍然是,如何确定分区的数量。+1,因为我没有想到这一点,但对于我的sha1值来说并不完全正确,因为它不仅仅是一个小整数。我认为“按哈希分区”应该是对的,但如何确定理想的分区数..@matiu,由于加密安全的哈希(如SHA1)是均匀分布的,因此无需将整个哈希转换为整数进行计算。您可以按照我的建议简单地使用前几个字节。这将产生具有确定性(非随机)结果的良好分布。