我正在进行查询优化。我已经运行了explain命令,后面跟着我的查询,很少会显示与解释查询优化相关的记录。它显示的是“possible_keys”和“Extra”字段名。我已经搜索过‘使用可能的键的强制索引’,我已经知道我可以在我试图优化的查询中使用关键字'Use (index_list)‘。
,我怀疑,用哪种类型的索引名代替“index_list”,我的意思是,我是否应该使用列名和我在查询中使用过的别名,或者,我是否应该使用表创建时创建的查询中使用的相应表的索引名。
我已经给出了表的索引名,然后它显示了下面的错误:
ERROR 1176 (42000): Key 'index_name' doesn't exist in table 'ecs'任何查询优化的提示/建议也欢迎。任何帮助都将不胜感激!谢谢。
发布于 2021-05-20 18:22:06
当使用像use index(<name...>)或force index(<name...>)这样的索引提示时,必须使用索引名。
不要使用列名或列别名。
可以使用以下语句之一在表中定义哪些索引:
mysql> SHOW INDEXES IN ecs;
mysql> SHOW CREATE TABLE ecs\G索引和键通常是MySQL的同义词,因此索引可以被称为键。
https://stackoverflow.com/questions/67625662
复制相似问题