使用MySQL索引Varchar

时间:2017-05-15 14:34:24

标签: mysql indexing varchar

我有一张像这样的表foo

id | column1
1  | normalized_string_format1
2  | normalized_string_format1
3  | normalized_string_format2
4  | normalized_string_format3

表格上的查询始终是:

SELECT * FROM foo WHERE column1 = 'some_string'

INSERT INTO foo (column1) VALUES ('some_string')

请注意,上例中的前两行有normalized_string_format1,因此column1不是唯一的。我应该在column1中创建一些索引以提高性能吗?在这种情况下,我应该选择哪一个指数?

1 个答案:

答案 0 :(得分:1)

如果表foo不重要,那么在column1上添加索引可能会有利于提高性能。

您可以创建一个这样的索引:

CREATE INDEX foo_IX1 ON foo (column1) 

INSERT / UPDATE / DELETE语句将执行更多工作,以维护索引条目。

但是在column1上使用等式谓词的SELECT语句将能够使用索引范围扫描操作,这意味着它可以避免检查表中的每个翻转行。