加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

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

发布时间:2021-04-02 01:04:05 所属栏目:编程 来源:网络整理
导读:尝试谷歌搜索,但: 题: 从外部生成MySQL字段的顺序UID值的最佳方法,该字段必须可以表示为字符串. 原因: 从char [0]转发中搜索字段索引时,磁盘顺序/页面附加插入的通用顺序UUID-ish值,用于执行写入和读取速度的日期前缀.该列将被索引,但寻找最佳数据以增加

尝试谷歌搜索,但:

题:
从外部生成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/(一个反例).

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读