是否可以在MySQL中的别名列上创建索引?

时间:2015-08-12 02:23:38

标签: mysql sql

SELECT name, LEVENSHTEIN_RATIO(name, 'variablethings')  as percent
FROM from my_table 
order by percent desc

my_table有一百万个数据。

此查询太长,因为'%'列是别名。 是否可以在此查询中对别名列进行索引? 或关于这个问题的任何其他解决方案?

1 个答案:

答案 0 :(得分:1)

没有。 MySQL不允许您在表达式上创建索引。一种可能性是将数据库切换为具有此功能的一个数据库,例如Postgres。

这可能太极端了。而是使用select语句创建一个新表,然后在percent上创建索引。在创建表时,您将获得一次性能命中,但您可以多次运行它。