gpt4 book ai didi

mysql - 150 个 tinyint 或 1 个 varchar(300)?

转载 作者:行者123 更新时间:2023-11-29 08:52:54 24 4
gpt4 key购买 nike

我需要将 150 个不同的小整数值(范围从 0 到 7)存储到 MySQL 数据库表行中。每次有 SELECT、INSERT 或 UPDATE 时,所有这些都会被一起读取和写入。该表大部分会被更新,会有 1 次插入,然后对该行进行大约 1000 次更新。删除和选择的情况很少发生(如果有的话)。

从性能角度来看,使用 150 个tinyint 列还是 varchar(300) 哪个更好?

我主要关心的是,当结果集准备好时,MySQL 处理 150 个列定义所花费的时间与双倍大小(如果缓存的话,需要双倍 RAM)的时间相比。我预计会有数十万行,因此每一位性能都很重要。

最佳答案

我将它们存储在 BINARY 列中,每个字节一个。数据集应该很容易适合内存,150b*500k = 75Mb。我认为后处理字节数组的开销不会超过使用查询和选择列的数据库开销。 INSERT 和 UPDATE 会占用数据库的解析时间,而且构造起来也很难看。不过,差异可能在毫秒范围内,所以我会做对应用程序端的解码有意义的事情。

关于mysql - 150 个 tinyint 或 1 个 varchar(300)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10711380/

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