当我使用UUID作为MySQL中的主键时,如何影响性能

时间:2011-04-26 16:14:01

标签: mysql performance uuid

我想知道当我在MySQL中使用UUID作为主键时,如何或多少会影响服务器的性能。

2 个答案:

答案 0 :(得分:1)

UUID长度为36个字符,表示36个字节。 INT是4个字节,包含TINYINT,MEDIUMINT和BIGINT的变体,均低于36个字节。

因此,对于您插入的每条记录,您的索引将分配更多空间。 此外,UUID需要更多时间来计算与递增整数相反的方法。

至于它对系统有多大影响,很难给出实际数字,因为有各种因素 - 系统负载,硬件等等。

答案 1 :(得分:1)

我想你正在使用InnoDB(无论如何......)

请阅读以下章节,介绍高性能MySQL 2ed,第117页:http://books.google.com.hk/books?id=BL0NNoFPuAQC&lpg=PA117&ots=COPMBsvA7V&dq=uuid%20innodb%20clustered%20index%20high%20performance%20mysql&pg=PA117#v=onepage&q&f=false

一般而言,从性能角度来看,UUID是一个糟糕的选择(由于聚集索引),他们有一个基准来证明这一点。