问题标签 [tinytext]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
53 浏览

mysql - 对于大型 MySQL 表 -TINYTEXT 或 VARCHAR 中的列,使用什么更有效?

当我有一个非常大的数据库 MySQL 表并且我希望添加一个很少使用的小文本字段列(仅用于少量记录)时,使用 VARCHAR(255) 还是 TINYTEXT 更有效?

我猜测由于 TINYTEXT 存储在表之外(并且访问该空间会受到惩罚),在我的情况下它会没问题,因为很少使用该惩罚。

使用 VARCHAR 会将文本存储放置在表中,并通过存储大部分空值和利用空间 (?) 来影响整个表。所以 VARCHAR 对我来说可能不是一个好的选择。

这个评估准确吗?

https://stackoverflow.com/a/28184635/2883328给出了一些想法,如我上面提到的,它更深入地研究了存储技术,还描述了使用第二个表,如下面的评论中所述。

0 投票
3 回答
850 浏览

php - TINYTEXT 作为 MySQL 中的主键?

我表中的条目由 5-10 个字符长的单词唯一标识,我使用 TINYTEXT(10) 作为列。但是,当我尝试将其设置为 PRIMARY 键时,我得到了size缺少的错误。

根据我对文档的有限理解,SizePRIMARY 键可用于简化检测唯一值的方法,即当前几个字符(由 指定Size)足以认为它是唯一匹配时。在我的情况下,size从 5 到 10 不同(它们都是 latin1,因此它们是每个字符的精确字节 + 1 的长度)。两个问题:

  1. 如果我想使用 TINYTEXT 作为 PRIMARY 键,size我应该指定哪个?最大可用 - 在这种情况下为 10?或者应该是size 严格的EXACT,例如,如果我的密钥是 6 个字符长的单词,但我将SizePK 指定为 10 - 它会尝试读取所有 10 个并且会失败并抛出异常?
  2. 使用 [TINY]TEXT 进行 PK 在性能方面有多糟糕?所有的谷歌结果都让我有意见和陈述“这很糟糕,你被解雇了”,但在这种情况下真的是这样吗,考虑到 TINYTEXT 最大为 255 并且我已经将最大长度指定为 10?