2011-04-26 92 views

回答

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是一个贫穷从性能角度来看(由于聚集索引),他们有一个基准来证明这一点。

+0

是的,我正在使用InnoDB ...我工作的公司中的一些应用程序使用UUID作为主键,但我不确定是否应该继续使用它。我想我不需要UUID键,所以也许我会停止使用它们。 – PachinSV 2011-04-27 19:31:38

+0

是的,如果性能至关重要,请在将来避免它。 – tszming 2011-04-28 02:24:07

1

UUID长度为36个字符,即36个字节。 INT是4个字节,其中TINYINT,MEDIUMINT和BIGINT的变体均小于36个字节。

因此,对于您插入的每条记录,您的索引将分配更多空间。 另外,UUID花费更多的时间来计算与增加整数相反的值。

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

相关问题