varchar列上的索引是否会使查询运行缓慢?我可以将其设为int。而且我不需要做LIKE%比较。
varchar列上的索引是否会使查询运行缓慢?
不,不是的。 如果优化器决定使用索引,则查询将运行得更快。 该表上的INSERTs / UPDATEs / DELETEs会变慢,但不太可能引起注意。
INSERT
UPDATE
DELETE
我不需要做LIKE%比较
请注意,使用:
LIKE '%whatever%'
…将 不 使用索引,但以下内容将:
LIKE 'whatever%'
关键是在字符串的左侧使用通配符,这意味着无法使用列上的索引。
还知道MySQL限制了为索引留出的空间量 -MyISAM表的最长长度为1000字节(InnoDB为767字节)。