gpt4 book ai didi

mysql - 我应该在 MySQL 中对 ids/uuid(主键)使用 int 还是 char?

转载 作者:行者123 更新时间:2023-11-29 03:11:40 30 4
gpt4 key购买 nike

我几乎所有的表都使用 id,你永远不知道它们什么时候派上用场。但是今天我读到这个...

要格外小心,确保按照惯例,您的“id”列(或主键)是:

char(36) 而不是 varchar(36)

CakePHP 将使用这两种定义,但是您将牺牲大约 50% 的数据库性能(尤其是 MySQL)。这在更复杂的 SELECT 中最为明显,这可能需要一些 JOIN 或计算。

我想知道...为什么还要使用基于文本的东西,而你只需要保存整数?我非常关心为正确的内容使用正确的格式,所以我想知道 char 是否比整数有任何性能改进?

最佳答案

我强烈建议使用整数。我正在为我的论文做一些建模,我在处理大型数据集。我必须创建一个包含大约 70.000.000 行的表。我的主键是 varchar + int。一开始,创建 5 位数行数的一个周期需要 5 分钟,很快就变成了 40。删除主键解决了我的性能问题。我猜这是因为确保唯一性并且它变得越来越耗时。当我的主键是 int 时,我没有类似的问题。不过这是个人经验,所以也许有人可以给出更理论化和更可靠的答案。

关于mysql - 我应该在 MySQL 中对 ids/uuid(主键)使用 int 还是 char?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7205357/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com