是否需要为GUID列创建一个索引?注意:我有GUID列在Where语句与连接表
我有两个问题
- 如果我的表包含像这样的唯一列:
DROP TABLE IF EXISTS;
创建新表AUTO_INCREMENT主键,
GUID VARCHAR(32) UNIQUE NULL;
是否需要为GUID列创建一个索引?注意:我有GUID列在Where语句与连接表
我的第二个问题是更新语句将影响索引表,如果更新的列(s)不是索引?
不,UNIQUE是一种索引,所以你不需要在同一列上另一个索引。
如果已更改的列没有被索引,则不会更新索引。
未更改的索引不会被更新。源
这取决于您正在使用的数据库。不同的数据库有不同的索引方式。
如果你使用的是InnoDB,那么主键和唯一键已经是一个索引,所以你不需要。如果您手动为GUID列创建另一个索引,那么您将在该列上有一个额外的冗余索引,这会浪费空间。