对于大字符串 UNIQUE 约束(varchar)(大约 100个字符
查询的长度会影响读/写的性能吗? (除了用于簿记的磁盘/内存使用之外。) 谢谢
答案 0 :(得分:0)
几个问题。索引中的列大小有限制(191、255、767、3072等,取决于各种情况)。
您的列符合限制。
只需为该列输入一个UNIQUE
或PRIMARY
键。在性能方面存在一些小问题,但请记住:获取行比涉及用于定位行的键的任何数据类型问题的开销都要大。
您的列不适合。
现在解决方法变得很丑。
INDEX foo(50)
)存在许多问题和效率低下的问题。UNIQUE foo(50)
完全错误。声明前50个字符被限制为唯一,而不是整列 。(如果需要,我会详细说明。)
获取一行(假设语句已解析并且PRIMARY KEY
可用。)
如果下一步是比较两个字符串(对于JOIN或ORDER BY),则该简单的子例程调用将扫描是否有许多字符。 (好吧,大多数utf8排序规则都不是“简单的”。)而且,是的,比较两个INT会更快。