Mysql 不使用索引的查询

Mysql 不使用索引的查询,mysql,Mysql,有人能告诉我为什么这个查询没有使用索引idx\U accessorieslinkid吗 我创建了索引: CREATE INDEX idx_accessorieslinkid ON `accessorieslink` (actionid); 我不熟悉索引,并且试图了解它们是如何工作的(以及为什么有时它们不工作!) sql 解释结果 id select_type table type possible_keys key

有人能告诉我为什么这个查询没有使用索引idx\U accessorieslinkid吗 我创建了索引:

    CREATE INDEX idx_accessorieslinkid ON `accessorieslink` (actionid);
我不熟悉索引,并且试图了解它们是如何工作的(以及为什么有时它们不工作!)

sql

解释结果

    id  select_type  table     type         possible_keys                   key key_len ref rows Extra
    1   PRIMARY      action    index_merge  idx_actiontypeid,idx_actiondate idx_actiondate,idx_actiontypeid  4,5 141    Using intersect(idx_actiondate,idx_actiontypeid); Using         where; Using index; Using temporary; Using filesort  
    1   PRIMARY      <derived2>       ALL   7804                    
    2   DERIVED      accessorieslink  ALL   12175                             Using temporary; Using filesort 
id选择类型表类型可能的键长度参考行额外
1使用intersect(idx_actiondate,idx_actiontypeid)合并idx_actiontypeid、idx_actiondate、idx_actiontypeid的主要操作索引4,5 141;在何处使用;使用指数;使用临时设备;使用文件排序
1小学全部7804
2个派生附件使用临时链接所有12175;使用文件排序

派生表不能在物理表上使用索引

尝试下面的查询

SELECT  SUM(accprice) AS accprice, accessorieslink.actionid FROM accessorieslink 
LEFT JOIN  `action`  ON accessorieslink.actionid = action.actionid 
GROUP BY accessorieslink.actionid

派生表不能在物理表上使用索引

尝试下面的查询

SELECT  SUM(accprice) AS accprice, accessorieslink.actionid FROM accessorieslink 
LEFT JOIN  `action`  ON accessorieslink.actionid = action.actionid 
GROUP BY accessorieslink.actionid

您好-此解决方案没有任何更改,因此删除了这些子查询-仅保留联接表并在外部函数SELECT action.actionid、SUM(accessorieslink.accprice)上分组作为ACTION LEFT的accprice加入accessorieslink ON accessorieslink.actionid=ACTION.actionid,其中ACTION.typeid='2'和actiondate2在'20130301'和'20130301'之间按accessorieslink.actionid按actiondate2描述分组-此解决方案没有更改,因此删除了这些子项查询-刚刚离开联接表并在外部函数SELECT action.actionid和SUM(accessorieslink.accprice)上分组作为操作左侧的accprice加入accessorieslink ON accessorieslink.actionid=ACTION.actionid,其中ACTION.typeid='2'和actiondate2在'20130301'和'20130301'之间按accessorieslink.actionid排序按actiondate2描述