MySQL的uuid这个函数。简要介绍一下。

用法

简单看到,这个值,每次执行都是不同的。

生成规则

第1 2 3 段是与时间有关的。

time_low、time_mid、time_high_and_version转成16进制后分别对应第1 2 3段。这个时间是从1582-10-15 00:00:00.00到当前时间的100ns值。(实际上系统只能取到精确us,再乘以10)。所以你短时间连续执行的话,比较可能只有第一个值在改,实际上1 2 3都可能会改变。

第4段是你启动这个MySQL后第一次执行select uuid()时的随机数,每次重启会改变。

第5段是mac值转过来的,同一个机器多实例的一般相同。如果mac值获取不到,则是一个随机值。

所以这个值可以认为是每次执行都不相同。并且不同实例之间也只有极微小概率重复。

Uuid_short

与uuid返回固定长度字符串不同, uuid_short的返回值是一个unsigned long long类型。MySQL启动后第一次执行的值是通过server_id << 56 + server_start_time << 24来初始化。server_start_time单位是秒。 之后每次执行都加1。

由于每次加1都会加全局mutex锁,因此多线程安全,可以当作sequence来用,只是初始值有点大。

作为Sequence

MySQL没有Oracle那样的sequence,在不是很精确的情况下,可以考虑上面提到的uuid_short。有一些不足:

1、初始值太大,无法重设

2、存在一个问题是每次重启后第一次执行的值不是重启前的那个值+1

3、而且如果重启在1s内完成,可能出现不单调递增(虽然这个可能性微乎其微)。

MySQL内置函数uuid和uuid_short的更多相关文章

  1. mysql 内置函数大全 mysql内置函数大全

    mysql 内置函数大全 2013年01月15日 19:02:03 阅读数:4698 对于针对字符串位置的操作,第一个位置被标记为1. ASCII(str) 返回字符串str的最左面字符的ASCII代 ...

  2. MySQL内置函数

    MySQL中的内置系统函数 用在SELECT语句,以及字句where  order by   having 中UPDTE   DELETE 函数中可以将字段名作为变量来用,变量的值就是这个列对应的每一 ...

  3. MySQL内置函数获取几天前的日期

    如何采用mysql内置函数获取指定时间之前的日期呢? SELECT something FROM table_name WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY ...

  4. mysql内置函数,在mysql里面利用str_to_date()把字符串转换为日期格式

    mysql内置函数,在mysql里面利用str_to_date()把字符串转换为日期格式 示例:分隔符一致,年月日要用%号 select str_to_date('2008-4-2 15:3:28', ...

  5. (MariaDB)MySQL内置函数大全

    html { font-family: sans-serif } body { margin: 0 } article,aside,details,figcaption,figure,footer,h ...

  6. 【mysql】mysql内置函数

    mysql常用内置函数 1.mysql字符串函数 contact 字符串连接函数 mysql>select contact("he",'llo');# hello lcase ...

  7. 四、mysql内置函数

    .字符串函数 concat('a','b'); 字符串拼接函数 ,,"我是A我是B"): 从指定位置开始替换指定长度的指定数据(起步为1) lower() 转小写 upper() ...

  8. mysql内置函数大全

    mysql 字符串函数用法集合 ASCII(str)返回字符串str的最左面字符的ASCII代码值. mysql> select ascii('d'); +------------+ | asc ...

  9. mysql 内置函数和sql server 内置函数的区别

    以下函数均没有对参数做说明,使用的使用需要了解其参数内容 数据库 sql server mysql oracle 举例 获得当前系统时间 getdate() now() sysdate  注意不是函数 ...

随机推荐

  1. Spark RDD概念学习系列之RDD接口

    不多说,直接上干货!

  2. 浅谈SpringCloud (一) 什么是微服务和不使用SpringCloud怎么访问服务提供者

    微服务和SpringCloud介绍 1.什么是微服务? 看过一遍介绍的很清楚的博客:https://blog.csdn.net/wuxiaobingandbob/article/details/786 ...

  3. SwipeRefreshLayout实现下拉刷新上滑加载

    1. 效果图 2.RefreshLayout.java package myapplication.com.myapplication; import android.content.Context; ...

  4. SpringMVC视频

    视频内容: 1.下载spring mvc以及spring mvc示例演示http://pan.baidu.com/s/1kTHRfDH 2.配置完善&初步探究控制器拦截http://pan.b ...

  5. ABBYY FineReader 双十二特惠活动正在进行中...

    转眼间11月已悄然飘过,有些童鞋还没缓过双十一的劲,势必将剁手进行到底.只为当时没有鼓足勇气.狠下心来而悔恨其中.别担心,双十二你准备好了么,ABBYY FineReader 系列产品低价让你继续嗨到 ...

  6. 速学JavaScript!

    什么是JavaScript? JavaScript是一种轻量级的脚本语言,也是一种嵌入式语言,是一种对象模型语言,简称JS:JavaScript的核心语法部分(语言本身)很精简,只包括两个部分: 基本 ...

  7. Wepy--小程序自定义底部tabBar

    PS后续: 说来惭愧, 没想到这篇文章浏览的人有点多. 说实话写的挺乱的. 并且自定义tabbar还有闪屏的问题. 因为有好几位道友都问了这个问题,  其中一位因为项目很急,所以就研究了一下(也是借鉴 ...

  8. HDU 1222 Wolf and Rabbit( 简单拓欧 )

    链接:传送门 题意:狼抓兔子,狼从 0 出发沿逆时针寻找兔子,每走一步的距离为 m ,所有洞窟的编号为 0 - n-1 ,问是否存在一个洞窟使得兔子能够安全躲过无数次狼的搜捕. 思路:简单的拓展欧几里 ...

  9. [BOI2011]MET-Meteors

    题目:洛谷P3527. 题目大意:n个国家在某星球上建立了m个空间站(一个空间站只属于一个国家),空间站围成一个环.现在知道要下k天陨石,每天都在一个区间内下,每个点都下同样多的(若r>l,则说 ...

  10. com.jasson.im.api.APIClient jar包 下载

    包名:ImApi2.3.jar 链接: https://pan.baidu.com/s/1SgeufcaH6y_K-AJEKDZDtw 提取码: 3v78 复制这段内容后打开百度网盘手机App,操作更 ...