指数& PHPMyAdmin中的关键问题

时间:2011-08-05 21:04:45

标签: php mysql phpmyadmin

我对mysql有一些疑问。我使用phpmyadmin作为xampp包的一部分。

所以:

  1. 我为我的表定义了一个标记为索引的字段。过了一会儿,我改变了字段的名称,但发现在键名下方留下了旧的名字。这是为什么?这会产生问题吗?

  2. 我还注意到,当在表格中定义多个索引时,它们会在一个键下聚集在一起,但只有字段在另一个键的顶部显示一个。

  3. 我已经构建了一个数据库,但在进行这些更改之后,我不想错误地构建错误的基础结构。我应该重建吗?

2 个答案:

答案 0 :(得分:0)

键名基本上是供参考,对他们实际索引的字段没有影响。这些名称使您在使用它们时更容易引用该键(添加/修改/删除键),但除此之外它纯粹是信息性的。如果您不提供密钥名称,MySQL将自动分配密钥名称,并且通常基于密钥中的第一个字段。

不确定您对索引的意思。您必须显示您的SQL,但是:

CREATE TABLE ...
...
INDEX indexA (fieldA, fieldB),
INDEX indexB (fieldC, fieldD),
INDEX indexC (fieldE)

将创建3个索引,其中两个分别覆盖两个字段。 ()内指定的任何字段名称都将成为该索引的一部分。

答案 1 :(得分:0)

我认为你不应该重建。

回答你的第一个问题:   你看到的索引名称没有改变,但它仍然指向你重命名的那个字段

回答你的第二个问题:  不知道你的意思是“在一把钥匙下聚集在一起”,如果它仍然是一个问题你可以在这里发布屏幕截图,这可能是一个myphp ui的事情。

一般情况下,您可能希望避免在表上创建大量索引,这会使插入和删除速度变慢。 删除索引是一种非破坏性的操作,因此您可以尝试使用它来查找用例的最佳格式。 如果您关注pref浪漫

,您可能还想查看一些称为规范化的内容