我有一個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搜索?
總之:不,你不能。 –