我看过类似的问题,比如这个 Does number of columns affect MYSQL speed?
我会尝试以更具体的方式提出我的问题,因为它略有不同。
我可以选择拥有这样一张 table ;
UserID | Parameter 1 | Parameter 2
该表将不会对其执行任何关系 SQL。
查询只会读取/写入一组用户 ID 的参数 1 或参数 2。
需要参数 1 的频率是参数 2 的 10 倍以上
参数1将存储最多1000个字符的数据字符串
参数2将存储最多100000个字符的数据字符串
我可以选择这些格式,所以我认为参数 1 的 TEXT(1000) 或 Blob 和参数 2 的 MEDIUMTEXT(100000) 或 MEDIUMBLOB 是有效的。请注意,我只需要读/写这些 - 我不确定格式选择会对数据库性能产生什么影响(小问题)。
我的主要问题是; 考虑到参数 1 和参数 2 的访问频率,参数的独立性,以及参数 2 的更大的大小,我是否应该有一个表;
UserID | Parameter 1 | Parameter 2
或两个表;
UserID | Parameter 1
UserID | Parameter 2
这是为了让事情更清楚而进行的编辑。 根据前面的描述,我对两个表选项的性能差异很感兴趣。我特别担心包含较大且较少使用的参数 2 将对访问参数 1 时的性能产生重大影响。如果有 1000 行,您可能会考虑这种影响。
最佳答案
过早的优化。从编程的角度来看,选择更容易的那个。
执着于这样的小细节只会让您浪费时间来实际实现您的程序。
关于MySql 的列数和参数大小对性能的影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16856673/