MySQL Char()或其他Field的顺序UID集生成

MySQL Char()或其他Field的顺序UID集生成,第1张

概述尝试谷歌搜索,但:题:从外部生成MySQL字段的顺序UID值的最佳方法,该字段必须可以表示为字符串.原因:从char [0]转发中搜索字段索引时,磁盘顺序/页面附加插入的通用顺序UUID-ish值,用于执行写入和读取速度的日期前缀.该列将被索引,但寻找最佳数据以增加索引读取和表写入性能而不是普通的UUID.我最初的想法是在固定宽度的字段中附加或替换UUIDv

尝试谷歌搜索,但:

题:
从外部生成MySQL字段的顺序UID值的最佳方法,该字段必须可以表示为字符串.

原因:
从char [0]转发中搜索字段索引时,磁盘顺序/页面附加插入的通用顺序UUID-ish值,用于执行写入和读取速度的日期前缀.该列将被索引,但寻找最佳数据以增加索引读取和表写入性能而不是普通的UUID.

我最初的想法是在固定宽度的字段中附加或替换UUIDv4生成的字符串的某些部分(即[Unix纪元] [剩余的UUID4])的某些粒度(可能是填充的纪元)的日期,但我不确定这是否会有所需的页内/磁盘排序结果和索引搜索结果.一个例子是:

12904645950049bceba1cc24e80806dd

这些值必须独立于MysqL本身,因此使用UUID和时间戳而不是自动递增的某些变化.

任何知道MysqL索引内部的人都有任何建议(对于InnoDB表)?

艾登

最佳答案可能有点offtopic,但看看Twitter’s snowflake.他们说这是:

>(大致)时间有序(帮助大量避免昂贵的随机主键BTREE更新)
>可直接排序
>紧凑

更不用说其他功能(HA等).您既可以使用算法,也可以直接使用它.

整个UID只使用多达64位的空间,所以我猜测索引是非常有效的 – 见http://www.mysqlperformanceblog.com/2006/10/03/long-primary-key-for-innodb-tables/(一个反例). 总结

以上是内存溢出为你收集整理的MySQL Char()或其他Field的顺序UID集生成全部内容,希望文章能够帮你解决MySQL Char()或其他Field的顺序UID集生成所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1167173.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存