首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL中的索引(唯一,写语句)

问MySQL中的索引(唯一,写语句)
EN

Stack Overflow用户
提问于 2011-07-17 14:25:31
回答 2查看 80关注 0票数 0

我有两个问题

  1. 如果我的表包含这样的唯一列:

如果存在TestTable,则删除表; 创建表TestTable( ID整数非空AUTO_INCREMENT主键, GUID VARCHAR(32)唯一NULL);

是否需要为这个GUID列创建一个索引。

注意:我在Where语句中有GUID列和联接表。

我的第二个问题是update语句会影响索引表如果更新的列不是索引吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-07-17 14:35:09

这取决于您使用的是哪个数据库。不同的数据库有不同的索引方法。

如果您正在使用InnoDB,那么主键和唯一键已经是一个索引,所以您不需要这样做。如果您手动为GUID列创建另一个索引,那么在该列上将有一个额外的冗余索引,这会浪费空间。

票数 1
EN

Stack Overflow用户

发布于 2011-07-17 14:27:05

不,UNIQUE是一种索引,所以您不需要在同一列上进行另一个索引。

如果未对已更改的列进行索引,则不会更新索引。

未更改的索引不被更新。来源

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6724456

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档