【发布时间】:2020-05-26 05:12:38
【问题描述】:
我想这样设置我的网站 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 个字符。
【问题讨论】:
-
索引使用 b-trees,它们对此非常有效。 26 个字符就可以了。
-
刚刚看过 B-Trees,我不会假装我理解它们是什么或做什么,但是谢谢 - 值得进一步研究。很高兴知道 26 是一个可接受的数字。
-
除非你真的遇到性能问题,否则不要担心这样的微优化。
-
没错,但是,正如他们所说,预防胜于治疗。
-
@wsix (love of) '过早的优化是万恶之源'
标签: php mysql database indexing where-clause