Joh*_*der 6 php mysql oracle uuid cakephp-2.0
我的场景:
Users- > HABTM - > Groups- > HABTM - >Other Groups我一直在研究如何在CakePHP中使用UUID,我发现了以下内容:
Cake对UUID有本机支持,但它假定CHAR(36):
http://book.cakephp.org/2.0/en/getting-started/cakephp-conventions.html
这个堆栈答案指出:
使用UUID作为CHAR(36)的成本非常高,并且在我的谦逊体验中变得愚蠢到超过1百万,超过100万,100多万行
这篇Blog Post声称这BINARY(36)比CHAR(36)以下更好:
虽然CakePHP不支持密钥类型为BINARY(16)的16字节十六进制编码UUID,但它支持BINARY(36),这仍然比使用CHAR(36)更好,后者可以通过整理来减慢速度.
......但是Cake Docs并没有说......
我的问题是,鉴于CakePHP/MySQL(或CakePHP/Oracle),CHAR(36)是这里唯一合理的选择,或者是否有更好,更有效的方式将UUID与CakePHP(或任何其他PHP框架)一起使用?
您可能已经知道这一点,但是您可以String::uuid()为新记录生成一个 id,并将其放入BINARY(16)您的表中 - 我认为 cake 在 uuid 生成之后没有任何自动魔力。