我有一个select语句,它具有where子句:WHERE CONCAT(att.subjectId,'#',att.classId)IN('132#100')。我已经在subjectId和classId上添加了一个复合索引,但这些索引是否适用于这种动态列。如果不是,可以在像CONCAT这样的动态列上创建一个列(att.subjectId,'#',att.classId)。将索引添加到mysql动态列
1
A
回答
1
最好的我知道MySQL没有提供在表达式/函数结果上创建索引的方法。
解决的办法是使用触发器填充额外的字段并对其进行索引。
+0
非常感谢Denis ..你能否给我看一下你的解决方法。 – Abhiraj
0
也许,函数并不是“where”子句的最佳主意,它们会强制dbms执行“全面扫描”来杀死性能。
我认为最好使用少数“(att.subjectId ='132'和att.classId ='100')”与“OR”连接(对于“IN”列表中的每个术语)并添加一些索引为分隔列。
相关问题
- 1. 动态添加索引到列表
- 2. 将动态列添加到MySQL结果
- 3. 添加索引列在MySQL
- 4. 动态添加行到DataView的索引
- 5. javascript追加到阵列动态索引
- 6. 将列动态添加到列列表
- 7. 如何将索引列添加到Datatable?
- 8. 将索引添加到生成的列
- 9. 将动画片段添加到索引
- 10. 动态添加mysql表列
- 11. mysql索引添加
- 12. 将列动态添加到列表框
- 13. MySQL - 如何将索引添加到某个列?
- 14. 如何将索引列添加到MySQL表中?
- 15. MySQL:将索引添加到活动表格
- 16. 动态添加列表索引到IP地址
- 17. 将数据列动态添加到dataGridView
- 18. 将列动态添加到xts对象
- 19. 将动态元素添加到阵列
- 20. 将数据动态添加到列
- 21. 如何将列动态添加到TreeView
- 22. 将搜索框添加到ASP.Net动态数据列表页面
- 23. MySQL - 将列添加到表?
- 24. MySQL - 将CHECK添加到列
- 25. 添加索引到现有的MySQL表
- 26. 动态添加列到JTable
- 27. 将加密添加到Solr/lucene索引
- 28. 将Tinymce添加到动态添加div
- 29. 熊猫:将列添加到多索引列数据框
- 30. 如何将动态搜索参数添加到Sharepoint搜索?
总之:不,你不能。 –