使用关键字作为ID可以让你的mysql更慢?

时间:2012-03-02 16:31:40

标签: mysql wordpress

我几次使用Wordpress。我意识到Wordpress正在使用关键字来识别数据库中的记录。

以下是示例:

网址:example.com/site/just-do-it

〜> just-do-it是一个关键字,托管此关键字的字段是索引字段。

所以,与使用普通数字ID(123,456 ...)相比,这种方式可能更慢或占用更多的mysql资源

很多人。


我对这个问题还有一个问题。 这是关于使用标签。

带标签(就像stackoverflow)我应该使用/ id / tag /或/ tag /吗?

使用标签作为标识,用户可以轻松搜索。 tag比主题标题短,但一个主题将有许多标签。

所以有很多标签记录。使用标签标题而不是标签ID时可以吗?

2 个答案:

答案 0 :(得分:2)

是的,它通常比使用数字PK慢。 INT - PK最常用的数据类型 - 长度为4B,因此在此列上创建的索引每行仅使用4B,只需要比较4B即可找到记录。在你提到的wordpress tabl上创建的索引可能要长得多(可能超过100B),因此需要更多的内存(在磁盘和RAM上)和处理能力。

问题是:这有关系吗?答案并不简单。在一个访问量有限的小网站上,它很可能根本不重要。但是,当表中的行数以及对该表的查询数增加时,这可能是一个限制因素。

答案 1 :(得分:1)

WordPress使用这些关键字丰富的网址,使它们看起来更漂亮,并在搜索引擎系统中获得一些额外的关键字。

由于URL不包含数字ID,因此必须通过该文本处理页面。最快的方法是通过数据库中的索引字段来完成。

他们可以使用这样的网址

example.com/site/just-do-it_36435

并从URL中删除数据库ID。对于使用文本索引的小速度丢失,值得删除URL中的ID。