SELECT name, LEVENSHTEIN_RATIO(name, 'variablethings') as percent
FROM from my_table
order by percent desc
my_table
有一百万个数据。
此查询太长,因为'%'列是别名。 是否可以在此查询中对别名列进行索引? 或关于这个问题的任何其他解决方案?
答案 0 :(得分:1)
没有。 MySQL不允许您在表达式上创建索引。一种可能性是将数据库切换为具有此功能的一个数据库,例如Postgres。
这可能太极端了。而是使用select
语句创建一个新表,然后在percent
上创建索引。在创建表时,您将获得一次性能命中,但您可以多次运行它。