mysql - 为mysql动态列添加索引

标签 mysql indexing

我有一个选择查询,它有一个 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/

相关文章:

Php mysqli 选择位置和顺序

python - 具有特定时间范围的 Pandas date_range

indexing - 组件未在 sitecore lucene 搜索索引中编入索引

lucene - lucene 字段的 store 属性

javascript - 从所选菜单中选择 ID 后,在文本框中显示价格

mysql - 转换为 mysql 时间戳

php - 动态 php 标题取决于页面 id 和 "if (isset"的使用

Python:索引列表列表的问题

python - 根据条件修改 DataFrame 的第一行

mysql - Amazon ec2 linux 实例 mysql 未连接