将 MySQL 与一个非常大的表(数百万个条目)一起使用,我需要根据其(索引)字段之一中最右边的 6 个字母找到一行。
我试过使用:SELECT * FROM 'users' WHERE field LIKE '%abcdef'
和SELECT * FROM 'users' WHERE RIGHT(field,6) = 'abcdef'
这两个查询大约需要 8.5 秒才能完成。作为比较,如果我对整个字段使用 = 运算符,则需要 0.15 秒。
我现在唯一想到的想法是在包含字段最右边的 6 个字母的表中创建一个额外的索引列,并使用 = 运算符来对付它。
任何更优雅的建议将不胜感激。
谢谢 :)