我有一个带有2K个寄存器InnoDB
引擎的MySql表。前两个字段是名为id
的PRIMARY KEY (AUTO INCREMENT)
和名为codreg
的INDEX KEY VARCHAR(255)
。主键vs主键索引速度
在我的表格只有一个PRIMARY KEY (VARCHAR(6))
之前,调用codreg
。
问题是在新配置中,codreg(like)的搜索比唯一的codreg配置慢。
主键索引是否比关键索引更快?
这个问题是关系到我在做这个查询
SELECT CE.*, GI.* FROM ($_q_aux) CE inner join table2 GI ON GI.codreg=CE.codreg
$ _q_aux性能问题是:
SELECT codreg FROM table2 WHERE codreg like '%string%'
表1是2K项和表2 20K条目
执行时间太慢..
感谢您的编辑,有人可以帮我吗? – Hanzo
即使你没有说你使用了哪个引擎,答案是 - 是的,PK比正常指数“更快”。此外,'LIKE'搜索是非常无效的,它的执行方式(无论是否有效)是值得怀疑的,再加上一个用于PK的varchar很可能不会产生最佳性能。您可以优化您的搜索,使其更快捷。即使没有索引。 2k条目对于MySQL来说是一个巨大的损失。 –
InnoDb是引擎。实际上PK是一个自动增量 – Hanzo