gpt4 book ai didi

mysql - 什么工作更快 "longer table with less columns"或 "shorter table with more columns"?

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

我必须决定如何规划用于存储日期的表。

我为每个用户设置了大约 20 个不同的日期,我猜现在有 100 000 个用户并且还在增加。

所以对于 SELECT 查询的问题是,如果我制作包含 20 个字段的表,什么会更快?例如

“用户日期”

userId, date_registered, date_paid, date_started_working, ... date_reported, date_fired 表中共有 20 个字段,100,000 条记录

或者像这样制作2张 table 第一个表 “date_types” 上面的列名有 3 个字段和 20 条记录。

   id, date_type_id, date_type_name

1 5 date_reported
2 3 date_registerd
...

第二个表有3个字段的实际记录

“用户日期”

userId, date_type, date
201 2 2012-01-28
202 5 2012-06-14
...

然后有 2 000 000 条记录?

如果我需要添加更多日期,我认为第二个选项更通用我可以从前端完成,只需将记录添加到“date_type”表,然后在“user_dates”中使用它,但我是现在担心表中有 200 万条记录的性能。

那么您认为哪个选项的效果会更快?

最佳答案

较长的表将具有较大的索引。一个更宽的表将有一个更小的索引,但占用更多的物理空间并且可能有更多的开销。您应该仔细检查您的架构以查看规范化是否已完成。

不过,我会选择你的第二个选项。这是因为如果字段为空,则您不必一定要存在这些字段。因此,如果用户尚未被解雇,则无需为他们创建记录。

关于mysql - 什么工作更快 "longer table with less columns"或 "shorter table with more columns"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14970607/

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