#253·uuid

在 doctrine 实体中使用 Uuid 作为身份的最有效类型

作者: flaushi创建于 2018年12月19日更新于 2020年5月1日
标签question

Hi, 我已经将 Uuid 设置为我的 doctrine 项目的主键。所有实体都具有此字段:

/**
 * @var UuidInterface
 *
 * @ORM\Id
 * @ORM\Column(type="uuid", unique=true)
 */
protected $id;

public function __construct() {
$this->id = Uuid::uuid4();
}
附件中附有一个分析器屏幕截图。
![bildschirmfoto 2018-12-19 um 09 04 32](https://user-images.githubusercontent.com/15819451/50207005-7f165780-036d-11e9-9f3c-08416c17358e.png)
如图所示,此库的 `unserialize` 方法所花费的时间几乎占 10%。是否可以更有效地将其存储为字符串?例如:

/**

  • @var string
  • @ORM\Id
  • @ORM\Column(type="string", length=64, unique=true) */ protected $id;

public function __construct() { $this->id = Uuid::uuid4()->toString(); } 请注意,我希望保持我的代码和模型与 Postgres 和 MySQL 兼容,目前的情况就是这样。@ocramius