前些天看到网上有人说:Mysql InnoDB 引擎 主键不适合用UUID , 若要用UUID的话可考虑用 自增ID做物理主键,UUID做逻辑主键。 带着以上问题,本人做了如下测试: 先自报测试环境: 测试电脑配置如图: MySQL 5.1(社区版) my.ini配置如下 [client]port=3306

前些天看到网上有人说:“Mysql InnoDB 引擎 主键不适合用UUID , 若要用UUID的话可考虑用 自增ID做物理主键,UUID做逻辑主键。”

带着以上问题,本人做了如下测试:

先自报测试环境:

测试电脑配置如图:

MySQL 5.1(社区版) my.ini配置如下

[client]

port=3306

socket= MySQL

[mysqld]

port=3306

socket= MySQL

key_buffer_size = 64M

max_allowed_packet = 16M

thread_cache_size = 8

thread_concurrency = 8

max_connections = 100

table_open_cache = 2048

sort_buffer_size = 8M

read_buffer_size = 2M

read_rnd_buffer_size = 24M

net_buffer_length = 2K

thread_stack = 1024K

server-id= 1

character-set-server=utf8

default-storage-engine=INNODB

[mysqldump]

quick

max_allowed_packet = 16M

[mysql]

no-auto-rehash

character-set-server=utf8

[myisamchk]

key_buffer_size = 64M

sort_buffer_size = 8M

[mysqlhotcopy]

interactive-timeout

c3p0连接池配置:

jdbcUrl = jdbc:mysql://127.0.0.1:3306/test?characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull

user = root

password = root

devMode = true

driverClass = com.mysql.jdbc.Driver

maxPoolSize = 30

minPoolSize = 3

initialPoolSiz e= 3

maxIdleTime = 120

acquireIncrement = 3

测试语言为:JAVA

框架使用的是:JFinal1.1.0

测试结果如下:

1、插入测试:

第一次 插入350000行数据

第二次 插入350000行数据

第三次 插入350000行数据

第四次 插入350000行数据

插入1000000行数据

插入8000000行数据

UUID主键

33750毫秒

36772毫秒

34885毫秒

35217毫秒

111496毫秒

1070219毫秒

自增ID主键

27939毫秒

28709毫秒

29015毫秒

28728毫秒

85666毫秒

654988毫秒

自增ID物理主键、UUID逻辑主键(唯一索引)

58578毫秒

-

-

-

110851毫秒

-

2、count()查询

count(*)

count(id)

UUID主键(表中有10400000行数据,ID在第一位)

30634毫秒

31312毫秒

自增ID主键(表中有10400000行数据,ID在第一位)

5461毫秒

5514毫秒

由于时间原因,就暂时测试这几种情况吧…… 毕竟在正式项目中,还有很多不可控因素…… 剩下的就是仁者见仁智者见智,我只是抛砖引玉

mysql innodb 主键,Mysql InnoDB 引擎 主键性能相关推荐

  1. Mysql主键索引与非主键索引

    Mysql主键索引与非主键索引 前言 InnoDB引擎 主键索引: 非主键索引 MySIAM引擎 主键索引 非主键索引 InnoDB和MyISAM的区别 前言 什么是B树: B树也叫B-树,是一棵多路 ...

  2. mysql innodb 二级索引,mysql InnoDB index 主键采用聚簇索引,二级索引不采用聚簇索引...

    我的归纳: (1)InnoDB的主键采用聚簇索引存储,使用的是B+Tree作为索引结构,但是叶子节点存储的是索引值和数据本身(注意和MyISAM的不同). (2)InnoDB的二级索引不使用聚蔟索引, ...

  3. MySQL之innodb与myisam:锁 事务 外键 主键 存储结构 存储大小 索引 count 注重点

    行锁:innodb支持行锁 事务:innodb支持事务 外键:MyISAM不支持InnoDB支持 主键:myisam允许没有索引和主键的表存在:innodb如果没有设定主键或者非空唯一索引,会生成一个 ...

  4. MySQL 使用自增ID主键和UUID 作为主键的优劣比較具体过程(从百万到千万表记录測试)...

    測试缘由 一个开发同事做了一个框架.里面主键是uuid.我跟他建议说mysql不要用uuid用自增主键,自增主键效率高,他说不一定高,我说innodb的索引特性导致了自增id做主键是效率最好的,为了拿 ...

  5. mysql事务用法介绍及储存引擎介绍(MyLSAM,Innodb)

    文章目录 前言 事务 什么是事务 事务的3大范式 事务的三大特点 原子性(Atomicity) 一致性(Consistency) 隔离性(Isolation) 持久性(Durability) 控制事务 ...

  6. 数据库关机_数据库:MySQL常见的三种存储引擎InnoDB、MyISAM、MEMORY的区别?

    InnoDB.MyISAM两种存储引擎的大致区别? 1.InnoDB支持事务,MyISAM不支持, 这一点是非常之重要.事务是一种高级的处理方式,如在一些列增删改中只要哪个出错还可以回滚还原,而MyI ...

  7. mysql实战38 | 都说InnoDB好,那还要不要使用Memory引擎?

    我在上一篇文章末尾留给你的问题是:两个 group by 语句都用了 order by null,为什么使用内存临时表得到的语句结果里,0 这个值在最后一行:而使用磁盘临时表得到的结果里,0 这个值在 ...

  8. MySQL 使用自增ID主键和UUID 作为主键的优劣比较详细过程(从百万到千万表记录测试)...

    Reference: https://blog.csdn.net/mchdba/article/details/52336203 一个开发同事做了一个框架,里面主键是uuid,我跟他建议说mysql不 ...

  9. mysql非主键索引_主键索引和非主键索引的区别

    1. 什么是最左前缀原则? 以下回答全部是基于MySQL的InnoDB引擎 例如对于下面这一张表 如果我们按照 name 字段来建立索引的话,采用B+树的结构,大概的索引结构如下 如果我们要进行模糊查 ...

最新文章

  1. 【JZOJ5064】【GDOI2017第二轮模拟day2】友好城市 Kosarajo算法+bitset+ST表+分块
  2. 要不要跳槽,看完就懂了
  3. mac最好用的markdown_Markdown 语法简明教程 amp; Markdown 编辑器推荐
  4. Windows 下各种Python库的下载与安装
  5. 201621123003《Java程序设计》第一周学习总结
  6. JS 向未声明的变量分配值(可删除)
  7. Codewars-parseInt() reloaded(实现英文单词和数字的转换)
  8. [原创]jQuery插件Realtime-Modifier正式发布!
  9. 华为机试HJ60:查找组成一个偶数最接近的两个素数
  10. 用计算机弹奇迹再现谱子,《原神》奇迹再现乐谱分享 风物之诗琴乐谱分享
  11. vue 数字上下滚动抽奖
  12. 安装和卸载IE浏览器
  13. html5 旋转木马相册,HTML5 CSS3 专题 :诱人的实例 3D旋转木马效果相册
  14. html5制作人物动作,如何用3DMAX制作多动作人物
  15. NER项目--github--A Unified MRC Framework for Named Entity Recognition
  16. 四月份适合发微信朋友圈的文案
  17. 【军事学视频课程】《战争论》的基…
  18. 5G 中的SDN/NFV 和云计算
  19. Nebula 官方地址
  20. 小梅哥FPGA视频教程学习总结(持续学习中……)

热门文章

  1. 刚刚,蚂蚁金服荣膺“中国金融大数据领军企业”称号
  2. LInux main.cpp 编码问题 导致影响后面的内容
  3. python基础===pip安装模块失败
  4. 数据中心的7个新兴发展趋势
  5. 《网站设计 开发 维护 推广 从入门到精通》—— 2.3 页面设计创意思维
  6. 游戏UI框架设计(三) : 窗体的层级管理
  7. Unity3d5.0 新UI之2048
  8. 初涉SQL Server性能问题(3/4):列出阻塞的会话
  9. 【Android开发】范例4-猜猜宝石放在哪个箱子里
  10. 高职扩招有计算机专业吗,高职扩招计算机专业