我想像这样设置我的网站 url 路径:
http://example.com/categories/a-specific-theme-or-subject/1
并使用 PHP 选择所有页面,如下所示:
SELECT * FROM table WHERE category = 'a-specific-theme-or-subject'
但我想知道,这是一种好的做法,还是对从数据库中提取数据的速度产生负面影响 - 与使用更简单的单个词相比:
http://example.com/categories/subject/1
SELECT * FROM table WHERE category = 'subject'
一VARCHAR
列允许 255 个字符,但我认为实际使用的数字越小越好,但多少是太多了?
对于任何完整的类别名称 ( a-specific-theme-or-subject
),我不会使用超过 26 个字符。
简短的回答:别担心。
长答案:
索引列的长度硬限制是 191 或 255 或 767 或 3072 字节或一些中间值,具体取决于 MySQL 版本和CHARACTER SET
.
再一次,“别担心”的实际限制是多长时间。
索引较短的列略好于长列,但切换到较长列的开销可能比简单地使用应用程序需要的更糟糕。
A 没问题category VARCHAR(26)
;别担心。你可以制作 ascii 或 latin1 或 utf8 或 utf8mb4。(这 26 个字符的最大值分别为 26、26、78、104 个 _bytes。)
设计一个好的索引最重要的是根据查询定制它。WHERE category = 'subject'
正好要求INDEX(category)
.
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句