我有一个选择查询,它有一个 where 子句: WHERE CONCAT(att.subjectId,'#',att.classId) IN ('132#100') 。我在 subjectId 和 classId 上添加了一个复合索引,但这些索引对这样的动态列有任何用处吗?如果没有,是否可以在动态列上创建一个列,如 CONCAT(att.subjectId,'#',att.classId)。
最佳答案
据我所知,MySQL 没有提供在表达式/函数结果上创建索引的方法。
解决方法是使用触发器填充一个额外的字段,并将其编入索引。
关于mysql - 为mysql动态列添加索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6439439/