我对mysql有一些疑问。我使用phpmyadmin作为xampp包的一部分。
所以:
我为我的表定义了一个标记为索引的字段。过了一会儿,我改变了字段的名称,但发现在键名下方留下了旧的名字。这是为什么?这会产生问题吗?
我还注意到,当在表格中定义多个索引时,它们会在一个键下聚集在一起,但只有字段在另一个键的顶部显示一个。
我已经构建了一个数据库,但在进行这些更改之后,我不想错误地构建错误的基础结构。我应该重建吗?
答案 0 :(得分:0)
键名基本上是供参考,对他们实际索引的字段没有影响。这些名称使您在使用它们时更容易引用该键(添加/修改/删除键),但除此之外它纯粹是信息性的。如果您不提供密钥名称,MySQL将自动分配密钥名称,并且通常基于密钥中的第一个字段。
不确定您对索引的意思。您必须显示您的SQL,但是:
CREATE TABLE ...
...
INDEX indexA (fieldA, fieldB),
INDEX indexB (fieldC, fieldD),
INDEX indexC (fieldE)
将创建3个索引,其中两个分别覆盖两个字段。 ()
内指定的任何字段名称都将成为该索引的一部分。
答案 1 :(得分:0)
我认为你不应该重建。
回答你的第一个问题: 你看到的索引名称没有改变,但它仍然指向你重命名的那个字段
回答你的第二个问题: 不知道你的意思是“在一把钥匙下聚集在一起”,如果它仍然是一个问题你可以在这里发布屏幕截图,这可能是一个myphp ui的事情。
一般情况下,您可能希望避免在表上创建大量索引,这会使插入和删除速度变慢。 删除索引是一种非破坏性的操作,因此您可以尝试使用它来查找用例的最佳格式。 如果您关注pref浪漫
,您可能还想查看一些称为规范化的内容