gpt4 book ai didi

mysql - 性能:mysql 和连接

转载 作者:太空宇宙 更新时间:2023-11-03 11:16:48 25 4
gpt4 key购买 nike

这只是一个关于表格建模的问题。

我有一个像这样的用户表:

  • 用户名 varchar PRIMARY
  • 密码变量
  • 名字varchar
  • 姓氏 varchar
  • ...

然后有一些表,引用用户,如组和日志表...

我现在正在考虑将 id 作为 autoincerment unsigned integer 添加到用户表中。因为有人告诉我,通过整数连接比通过 varchar 连接更快。

对我来说这听起来很合理,因为必须比较的字节数较少。

这是真的吗?或者你会说,没有必要在用户表中引入 id 列?

提前致谢:)

最佳答案

从技术上讲,出于您所写的原因,整数应该更快一点。但是,您的情况的真正区别在于您是在自然键还是合成键之间进行选择。

如果你有一个稳定的(意味着它永远不会有机会)自然键,你将获得一个显着的性能优势。您通常可以完全删除与用户表的连接,因为您可以直接查询其他表,例如:

select ...
from user_posts
where userid = 'JMW'

关于 INT/VARCHAR 的讨论,这里有一篇您可能感兴趣的文章。

http://www.mysqlperformanceblog.com/2008/01/24/enum-fields-vs-varchar-vs-int-joined-table-what-is-faster/

关于mysql - 性能:mysql 和连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4533568/

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