Mysql左连接未使用现有外键

Mysql左连接未使用现有外键,mysql,join,indexing,explain,my.cnf,Mysql,Join,Indexing,Explain,My.cnf,我在执行简单的左连接时遇到问题 我提供了一个简单的版本,首先突出我的问题,然后是这个问题的背景 当我运行EXPLAIN SELECT*FROM Feature f LEFT JOIN Feature\u translations\t ON f.id=t.object\u id时,我得到了以下结果: +----+-------------+-------+------+---------------------------+------+---------+------+--------+----

我在执行简单的左连接时遇到问题

我提供了一个简单的版本,首先突出我的问题,然后是这个问题的背景

当我运行
EXPLAIN SELECT*FROM Feature f LEFT JOIN Feature\u translations\t ON f.id=t.object\u id
时,我得到了以下结果:

+----+-------------+-------+------+---------------------------+------+---------+------+--------+----------------------------------------------------+
| id | select_type | table | type | possible_keys             | key  | key_len | ref  | rows   | Extra                                              |
+----+-------------+-------+------+---------------------------+------+---------+------+--------+----------------------------------------------------+
|  1 | SIMPLE      | f     | ALL  | NULL                      | NULL | NULL    | NULL | 249200 | NULL                                               |
|  1 | SIMPLE      | t     | ALL  | IDX_7ED26C14232D562B,olol | NULL | NULL    | NULL |      1 | Using where; Using join buffer (Block Nested Loop) |
+----+-------------+-------+------+---------------------------+------+---------+------+--------+----------------------------------------------------+
在这里我可以看到连接没有使用现有的索引!!!如果删除几乎所有行,则使用索引。这就是为什么我认为这只是一个配置变量,但我不知道是哪一个

按照我的表格结构

CREATE TABLE IF NOT EXISTS `Feature` (
  `id` int(11) NOT NULL,
  `site_id` int(11) NOT NULL,
  `name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
  `clientId` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
  `signature` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL
) ENGINE=InnoDB AUTO_INCREMENT=1866705 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

ALTER TABLE `Feature`
ADD PRIMARY KEY (`id`), ADD UNIQUE KEY `UNIQ_D06A4CFAF6BD1646AE880141` (`site_id`,`signature`), ADD KEY `IDX_D06A4CFAF6BD1646` (`site_id`), ADD KEY `IDX_D06A4CFAAE880141F6BD1646` (`signature`,`site_id`), ADD KEY `IDX_D06A4CFAEA1CE9BEF6BD1646` (`clientId`,`site_id`);

谢谢大家!


上下文

他们认为这个请求来自一个更大的请求。我在使用条令,我试着在我用过的表上使用一个大连接。这项工作很好,但有3个表,大大降低了我的表现。在这种情况下使用联接的性能低于多个请求

我想要运行的请求是

SELECT * FROM Product p1_ INNER JOIN Poi p0_ ON p1_.id = p0_.id INNER JOIN Site s42_ ON p0_.site_id = s42_.id LEFT JOIN PoiLogoLink p2_ ON p0_.id = p2_.poi_id LEFT JOIN File f3_ ON p2_.file_id = f3_.id LEFT JOIN PoiPictureLink p4_ ON p0_.id = p4_.poi_id LEFT JOIN File f5_ ON p4_.file_id = f5_.id LEFT JOIN poi_translations p6_ ON p0_.id = p6_.object_id LEFT JOIN CustomObject c7_ ON p0_.id = c7_.poi_id LEFT JOIN Picto p8_ ON c7_.id = p8_.id LEFT JOIN Label l9_ ON c7_.id = l9_.id LEFT JOIN custom_objects_translations c10_ ON c7_.id = c10_.object_id LEFT JOIN category_poi c43_ ON p0_.id = c43_.poi_id LEFT JOIN Category c11_ ON c11_.id = c43_.category_id LEFT JOIN category_translations c12_ ON c11_.id = c12_.object_id LEFT JOIN place_poi p44_ ON p0_.id = p44_.poi_id LEFT JOIN Place p13_ ON p13_.id = p44_.place_id LEFT JOIN PoiLink p14_ ON p0_.id = p14_.childId LEFT JOIN Poi p15_ ON p14_.parentId = p15_.id LEFT JOIN Person p16_ ON p15_.id = p16_.id LEFT JOIN Store s17_ ON p15_.id = s17_.id LEFT JOIN Product p18_ ON p15_.id = p18_.id LEFT JOIN Exhibitor e19_ ON p15_.id = e19_.id LEFT JOIN Room r20_ ON p15_.id = r20_.id LEFT JOIN Service s21_ ON p15_.id = s21_.id LEFT JOIN PoiLink p22_ ON p0_.id = p22_.parentId LEFT JOIN Poi p23_ ON p22_.childId = p23_.id LEFT JOIN Person p24_ ON p23_.id = p24_.id LEFT JOIN Store s25_ ON p23_.id = s25_.id LEFT JOIN Product p26_ ON p23_.id = p26_.id LEFT JOIN Exhibitor e27_ ON p23_.id = e27_.id LEFT JOIN Room r28_ ON p23_.id = r28_.id LEFT JOIN Service s29_ ON p23_.id = s29_.id LEFT JOIN poi_translations p30_ ON p23_.id = p30_.object_id LEFT JOIN PoiMediaLink p31_ ON p0_.id = p31_.poi_id LEFT JOIN Media m32_ ON p31_.media_id = m32_.id LEFT JOIN MediaText m33_ ON m32_.id = m33_.id LEFT JOIN MediaImage m34_ ON m32_.id = m34_.id LEFT JOIN MediaVideo m35_ ON m32_.id = m35_.id LEFT JOIN MediaPdf m36_ ON m32_.id = m36_.id LEFT JOIN Movie m37_ ON m32_.id = m37_.id LEFT JOIN MediaUrl m38_ ON m32_.id = m38_.id LEFT JOIN media_translations m39_ ON m32_.id = m39_.object_id LEFT JOIN product_feature p45_ ON p1_.id = p45_.product_id LEFT JOIN Feature f40_ ON f40_.id = p45_.feature_id LEFT JOIN feature_translations f41_ ON f40_.id = f41_.object_id WHERE s42_.id IN (15) ORDER BY p0_.id ASC LIMIT 100 OFFSET 0;

100 rows in set (15,43 sec)

+----+-------------+-------+--------+------------------------------------------------------------+----------------------+---------+------------------------+------  +----------------------------------------------------+
| id | select_type | table | type   | possible_keys                                              | key                  | key_len | ref                    | rows | Extra                                              |
+----+-------------+-------+--------+------------------------------------------------------------+----------------------+---------+------------------------+------+----------------------------------------------------+
|  1 | SIMPLE      | s42_  | const  | PRIMARY                                                    | PRIMARY              | 4       | const                  |    1 | Using temporary; Using filesort                    |
|  1 | SIMPLE      | p0_   | ref    | PRIMARY,UNIQ_45F65936F6BD1646AE880141,IDX_45F65936F6BD1646 | IDX_45F65936F6BD1646 | 4       | const                  | 8875 | NULL                                               |
|  1 | SIMPLE      | p1_   | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.p0_.id           |    1 | NULL                                               |
|  1 | SIMPLE      | p2_   | ref    | IDX_7990D9C97EACE855                                       | IDX_7990D9C97EACE855 | 4       | adsum.p0_.id           |    1 | NULL                                               |
|  1 | SIMPLE      | f3_   | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.p2_.file_id      |    1 | NULL                                               |
|  1 | SIMPLE      | p4_   | ref    | IDX_6CC279957EACE855                                       | IDX_6CC279957EACE855 | 4       | adsum.p0_.id           |    1 | NULL                                               |
|  1 | SIMPLE      | f5_   | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.p4_.file_id      |    1 | NULL                                               |
|  1 | SIMPLE      | p6_   | ref    | IDX_9478F0F7232D562B                                       | IDX_9478F0F7232D562B | 5       | adsum.p0_.id           |    1 | NULL                                               |
|  1 | SIMPLE      | c7_   | ref    | IDX_FE0561D77EACE855                                       | IDX_FE0561D77EACE855 | 5       | adsum.p0_.id           |    1 | NULL                                               |
|  1 | SIMPLE      | p8_   | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.c7_.id           |    1 | NULL                                               |
|  1 | SIMPLE      | l9_   | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.c7_.id           |    1 | NULL                                               |
|  1 | SIMPLE      | c10_  | ref    | IDX_A653A52A232D562B                                       | IDX_A653A52A232D562B | 5       | adsum.c7_.id           |    1 | NULL                                               |
|  1 | SIMPLE      | c43_  | ref    | IDX_5879B28C7EACE855                                       | IDX_5879B28C7EACE855 | 4       | adsum.p0_.id           |    1 | Using index                                        |
|  1 | SIMPLE      | c11_  | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.c43_.category_id |    1 | NULL                                               |
|  1 | SIMPLE      | c12_  | ref    | IDX_1C60F915232D562B                                       | IDX_1C60F915232D562B | 5       | adsum.c11_.id          |    1 | NULL                                               |
|  1 | SIMPLE      | p44_  | ref    | IDX_720979277EACE855                                       | IDX_720979277EACE855 | 4       | adsum.p0_.id           |    1 | Using index                                        |
|  1 | SIMPLE      | p13_  | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.p44_.place_id    |    1 | NULL                                               |
|  1 | SIMPLE      | p14_  | ref    | IDX_64E377A92FD6B47                                        | IDX_64E377A92FD6B47  | 5       | adsum.p0_.id           |    4 | NULL                                               |
|  1 | SIMPLE      | p15_  | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.p14_.parentId    |    1 | NULL                                               |
|  1 | SIMPLE      | p16_  | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.p15_.id          |    1 | NULL                                               |
|  1 | SIMPLE      | s17_  | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.p15_.id          |    1 | NULL                                               |
|  1 | SIMPLE      | p18_  | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.p15_.id          |    1 | NULL                                               |
|  1 | SIMPLE      | e19_  | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.p15_.id          |    1 | NULL                                               |
|  1 | SIMPLE      | r20_  | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.p15_.id          |    1 | NULL                                               |
|  1 | SIMPLE      | s21_  | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.p15_.id          |    1 | NULL                                               |
|  1 | SIMPLE      | p22_  | ref    | IDX_64E377A910EE4CEE                                       | IDX_64E377A910EE4CEE | 5       | adsum.p0_.id           |    2 | NULL                                               |
|  1 | SIMPLE      | p23_  | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.p22_.childId     |    1 | NULL                                               |
|  1 | SIMPLE      | p24_  | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.p23_.id          |    1 | NULL                                               |
|  1 | SIMPLE      | s25_  | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.p23_.id          |    1 | NULL                                               |
|  1 | SIMPLE      | p26_  | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.p23_.id          |    1 | NULL                                               |
|  1 | SIMPLE      | e27_  | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.p23_.id          |    1 | NULL                                               |
|  1 | SIMPLE      | r28_  | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.p23_.id          |    1 | NULL                                               |
|  1 | SIMPLE      | s29_  | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.p23_.id          |    1 | NULL                                               |
|  1 | SIMPLE      | p30_  | ref    | IDX_9478F0F7232D562B                                       | IDX_9478F0F7232D562B | 5       | adsum.p23_.id          |    1 | NULL                                               |
|  1 | SIMPLE      | p31_  | ref    | IDX_5D2C1AE27EACE855                                       | IDX_5D2C1AE27EACE855 | 4       | adsum.p0_.id           |    1 | NULL                                               |
|  1 | SIMPLE      | m32_  | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.p31_.media_id    |    1 | NULL                                               |
|  1 | SIMPLE      | m33_  | ALL    | PRIMARY                                                    | NULL                 | NULL    | NULL                   |    1 | Using where; Using join buffer (Block Nested Loop) |
|  1 | SIMPLE      | m34_  | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.m32_.id          |    1 | NULL                                               |
|  1 | SIMPLE      | m35_  | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.m32_.id          |    1 | NULL                                               |
|  1 | SIMPLE      | m36_  | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.m32_.id          |    1 | NULL                                               |
|  1 | SIMPLE      | m37_  | ALL    | PRIMARY                                                    | NULL                 | NULL    | NULL                   |    1 | Using where; Using join buffer (Block Nested Loop) |
|  1 | SIMPLE      | m38_  | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.m32_.id          |    1 | NULL                                               |
|  1 | SIMPLE      | m39_  | ref    | IDX_AF46700B232D562B                                       | IDX_AF46700B232D562B | 5       | adsum.m32_.id          |    1 | NULL                                               |
|  1 | SIMPLE      | p45_  | ref    | PRIMARY,IDX_CE0E6ED64584665A                               | IDX_CE0E6ED64584665A | 4       | adsum.p0_.id           |    2 | Using index                                        |
|  1 | SIMPLE      | f40_  | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.p45_.feature_id  |    1 | NULL                                               |
|  1 | SIMPLE      | f41_  | ALL    | IDX_7ED26C14232D562B                                       | NULL                 | NULL    | NULL                   |    1 | Using where; Using join buffer (Block Nested Loop) |
+----+-------------+-------+--------+------------------------------------------------------------+----------------------+---------+------------------------+------+----------------------------------------------------+
但是如果我删除了不使用键的表

SELECT * FROM Product p1_ INNER JOIN Poi p0_ ON p1_.id = p0_.id INNER JOIN Site s31_ ON p0_.site_id = s31_.id LEFT JOIN PoiLogoLink p2_ ON p0_.id = p2_.poi_id LEFT JOIN File f3_ ON p2_.file_id = f3_.id LEFT JOIN PoiPictureLink p4_ ON p0_.id = p4_.poi_id LEFT JOIN File f5_ ON p4_.file_id = f5_.id LEFT JOIN poi_translations p6_ ON p0_.id = p6_.object_id LEFT JOIN CustomObject c7_ ON p0_.id = c7_.poi_id LEFT JOIN Picto p8_ ON c7_.id = p8_.id LEFT JOIN Label l9_ ON c7_.id = l9_.id LEFT JOIN custom_objects_translations c10_ ON c7_.id = c10_.object_id LEFT JOIN category_poi c32_ ON p0_.id = c32_.poi_id LEFT JOIN Category c11_ ON c11_.id = c32_.category_id LEFT JOIN category_translations c12_ ON c11_.id = c12_.object_id LEFT JOIN place_poi p33_ ON p0_.id = p33_.poi_id LEFT JOIN Place p13_ ON p13_.id = p33_.place_id LEFT JOIN PoiLink p14_ ON p0_.id = p14_.childId LEFT JOIN Poi p15_ ON p14_.parentId = p15_.id LEFT JOIN Person p16_ ON p15_.id = p16_.id LEFT JOIN Store s17_ ON p15_.id = s17_.id LEFT JOIN Product p18_ ON p15_.id = p18_.id LEFT JOIN Exhibitor e19_ ON p15_.id = e19_.id LEFT JOIN Room r20_ ON p15_.id = r20_.id LEFT JOIN Service s21_ ON p15_.id = s21_.id LEFT JOIN PoiLink p22_ ON p0_.id = p22_.parentId LEFT JOIN Poi p23_ ON p22_.childId = p23_.id LEFT JOIN Person p24_ ON p23_.id = p24_.id LEFT JOIN Store s25_ ON p23_.id = s25_.id LEFT JOIN Product p26_ ON p23_.id = p26_.id LEFT JOIN Exhibitor e27_ ON p23_.id = e27_.id LEFT JOIN Room r28_ ON p23_.id = r28_.id LEFT JOIN Service s29_ ON p23_.id = s29_.id LEFT JOIN poi_translations p30_ ON p23_.id = p30_.object_id WHERE s31_.id IN (15) ORDER BY p0_.id ASC LIMIT 100 OFFSET 0;

100 rows in set (0,02 sec)

+----+-------------+-------+--------+------------------------------------------------------------+----------------------+---------+------------------------+------+-------------+
| id | select_type | table | type   | possible_keys                                              | key                  | key_len | ref                    | rows | Extra       |
+----+-------------+-------+--------+------------------------------------------------------------+----------------------+---------+------------------------+------+-------------+
|  1 | SIMPLE      | s31_  | const  | PRIMARY                                                    | PRIMARY              | 4       | const                  |    1 | NULL        |
|  1 | SIMPLE      | p0_   | ref    | PRIMARY,UNIQ_45F65936F6BD1646AE880141,IDX_45F65936F6BD1646 | IDX_45F65936F6BD1646 | 4       | const                  | 8875 | Using where |
|  1 | SIMPLE      | p1_   | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.p0_.id           |    1 | NULL        |
|  1 | SIMPLE      | p2_   | ref    | IDX_7990D9C97EACE855                                       | IDX_7990D9C97EACE855 | 4       | adsum.p0_.id           |    1 | NULL        |
|  1 | SIMPLE      | f3_   | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.p2_.file_id      |    1 | NULL        |
|  1 | SIMPLE      | p4_   | ref    | IDX_6CC279957EACE855                                       | IDX_6CC279957EACE855 | 4       | adsum.p0_.id           |    1 | NULL        |
|  1 | SIMPLE      | f5_   | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.p4_.file_id      |    1 | NULL        |
|  1 | SIMPLE      | p6_   | ref    | IDX_9478F0F7232D562B                                       | IDX_9478F0F7232D562B | 5       | adsum.p0_.id           |    1 | NULL        |
|  1 | SIMPLE      | c7_   | ref    | IDX_FE0561D77EACE855                                       | IDX_FE0561D77EACE855 | 5       | adsum.p0_.id           |    1 | NULL        |
|  1 | SIMPLE      | p8_   | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.c7_.id           |    1 | NULL        |
|  1 | SIMPLE      | l9_   | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.c7_.id           |    1 | NULL        |
|  1 | SIMPLE      | c10_  | ref    | IDX_A653A52A232D562B                                       | IDX_A653A52A232D562B | 5       | adsum.c7_.id           |    1 | NULL        |
|  1 | SIMPLE      | c32_  | ref    | IDX_5879B28C7EACE855                                       | IDX_5879B28C7EACE855 | 4       | adsum.p0_.id           |    1 | Using index |
|  1 | SIMPLE      | c11_  | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.c32_.category_id |    1 | NULL        |
|  1 | SIMPLE      | c12_  | ref    | IDX_1C60F915232D562B                                       | IDX_1C60F915232D562B | 5       | adsum.c11_.id          |    1 | NULL        |
|  1 | SIMPLE      | p33_  | ref    | IDX_720979277EACE855                                       | IDX_720979277EACE855 | 4       | adsum.p0_.id           |    1 | Using index |
|  1 | SIMPLE      | p13_  | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.p33_.place_id    |    1 | NULL        |
|  1 | SIMPLE      | p14_  | ref    | IDX_64E377A92FD6B47                                        | IDX_64E377A92FD6B47  | 5       | adsum.p0_.id           |    4 | NULL        |
|  1 | SIMPLE      | p15_  | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.p14_.parentId    |    1 | NULL        |
|  1 | SIMPLE      | p16_  | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.p15_.id          |    1 | NULL        |
|  1 | SIMPLE      | s17_  | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.p15_.id          |    1 | NULL        |
|  1 | SIMPLE      | p18_  | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.p15_.id          |    1 | NULL        |
|  1 | SIMPLE      | e19_  | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.p15_.id          |    1 | NULL        |
|  1 | SIMPLE      | r20_  | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.p15_.id          |    1 | NULL        |
|  1 | SIMPLE      | s21_  | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.p15_.id          |    1 | NULL        |
|  1 | SIMPLE      | p22_  | ref    | IDX_64E377A910EE4CEE                                       | IDX_64E377A910EE4CEE | 5       | adsum.p0_.id           |    2 | NULL        |
|  1 | SIMPLE      | p23_  | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.p22_.childId     |    1 | NULL        |
|  1 | SIMPLE      | p24_  | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.p23_.id          |    1 | NULL        |
|  1 | SIMPLE      | s25_  | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.p23_.id          |    1 | NULL        |
|  1 | SIMPLE      | p26_  | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.p23_.id          |    1 | NULL        |
|  1 | SIMPLE      | e27_  | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.p23_.id          |    1 | NULL        |
|  1 | SIMPLE      | r28_  | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.p23_.id          |    1 | NULL        |
|  1 | SIMPLE      | s29_  | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.p23_.id          |    1 | NULL        |
|  1 | SIMPLE      | p30_  | ref    | IDX_9478F0F7232D562B                                       | IDX_9478F0F7232D562B | 5       | adsum.p23_.id          |    1 | NULL        |
+----+-------------+-------+--------+------------------------------------------------------------+----------------------+---------+------------------------+------+-------------+
在这里,我认为我的第一个请求中有一件非常糟糕的事情

我试图添加
SET optimizer\u switch='block\u nested\u loop=off'
,但这并不强制使用索引


编辑 所有隐含的表结构都可以在中找到(主体post大小在stackoverflow上受到限制,但我认为sql转储更好)


编辑2
为了提供更多信息,

好的,这不是一个很好的答案,但它可能会推动事情向前发展

对于
,从功能f中选择*左连接功能f.id=t.object\U id上的t

  • 除非你需要,否则不要说
    LEFT
  • id
    object\u id
    必须具有相同的数据类型。(他们似乎是。)
  • 请提供
    显示创建表
    ;您提供的内容不显示
    olol
    ,它位于
    解释中

    • 好的,这不是一个很好的答案,但它可能会推动事情向前发展

      对于
      ,从功能f中选择*左连接功能f.id=t.object\U id上的t

      • 除非你需要,否则不要说
        LEFT
      • id
        object\u id
        必须具有相同的数据类型。(他们似乎是。)
      • 请提供
        显示创建表
        ;您提供的内容不显示
        olol
        ,它位于
        解释中
      粗略地说,“使用连接缓冲区(块嵌套循环)”意味着“将整个索引加载到“连接缓冲区”并使用它。”这不是重复访问索引。这是一个相对较新的特性,与旧代码相比通常非常快

      因此,实际使用的是索引

      您可以通过执行
      EXPLAIN FORMAT=JSON SELECT

      粗略地说,“使用连接缓冲区(块嵌套循环)”意味着“将整个索引加载到“连接缓冲区”并使用它。”这不是重复访问索引。这是一个相对较新的特性,与旧代码相比通常非常快

      因此,实际使用的是索引


      您可以通过执行
      EXPLAIN FORMAT=JSON SELECT

      您好,谢谢您的回复。编辑原始问题以添加sql结构转储,以便查看所有隐含的表。您好,谢谢您的回答。编辑原始问题以添加sql结构转储,以便查看所有隐含的表。您好!感谢您的回复,我刚刚在问题中添加了JSON解释输出。我不知道该检查什么。事实上,我想我找到了问题所在(现在不是如何解决问题,但这是你给我的一个很好的提示!)。我的第一个请求是使用临时表和filesort。这似乎是由于使用块嵌套循环的表
      f41
      。顺便说一下,我不知道为什么,但是
      m37
      m32
      似乎没问题!当然缺少索引!你好感谢您的回复,我刚刚在问题中添加了JSON解释输出。我不知道该检查什么。事实上,我想我找到了问题所在(现在不是如何解决问题,但这是你给我的一个很好的提示!)。我的第一个请求是使用临时表和filesort。这似乎是由于使用块嵌套循环的表
      f41
      。顺便说一下,我不知道为什么,但是
      m37
      m32
      似乎没问题!当然缺少索引!
      SELECT * FROM Product p1_ INNER JOIN Poi p0_ ON p1_.id = p0_.id INNER JOIN Site s31_ ON p0_.site_id = s31_.id LEFT JOIN PoiLogoLink p2_ ON p0_.id = p2_.poi_id LEFT JOIN File f3_ ON p2_.file_id = f3_.id LEFT JOIN PoiPictureLink p4_ ON p0_.id = p4_.poi_id LEFT JOIN File f5_ ON p4_.file_id = f5_.id LEFT JOIN poi_translations p6_ ON p0_.id = p6_.object_id LEFT JOIN CustomObject c7_ ON p0_.id = c7_.poi_id LEFT JOIN Picto p8_ ON c7_.id = p8_.id LEFT JOIN Label l9_ ON c7_.id = l9_.id LEFT JOIN custom_objects_translations c10_ ON c7_.id = c10_.object_id LEFT JOIN category_poi c32_ ON p0_.id = c32_.poi_id LEFT JOIN Category c11_ ON c11_.id = c32_.category_id LEFT JOIN category_translations c12_ ON c11_.id = c12_.object_id LEFT JOIN place_poi p33_ ON p0_.id = p33_.poi_id LEFT JOIN Place p13_ ON p13_.id = p33_.place_id LEFT JOIN PoiLink p14_ ON p0_.id = p14_.childId LEFT JOIN Poi p15_ ON p14_.parentId = p15_.id LEFT JOIN Person p16_ ON p15_.id = p16_.id LEFT JOIN Store s17_ ON p15_.id = s17_.id LEFT JOIN Product p18_ ON p15_.id = p18_.id LEFT JOIN Exhibitor e19_ ON p15_.id = e19_.id LEFT JOIN Room r20_ ON p15_.id = r20_.id LEFT JOIN Service s21_ ON p15_.id = s21_.id LEFT JOIN PoiLink p22_ ON p0_.id = p22_.parentId LEFT JOIN Poi p23_ ON p22_.childId = p23_.id LEFT JOIN Person p24_ ON p23_.id = p24_.id LEFT JOIN Store s25_ ON p23_.id = s25_.id LEFT JOIN Product p26_ ON p23_.id = p26_.id LEFT JOIN Exhibitor e27_ ON p23_.id = e27_.id LEFT JOIN Room r28_ ON p23_.id = r28_.id LEFT JOIN Service s29_ ON p23_.id = s29_.id LEFT JOIN poi_translations p30_ ON p23_.id = p30_.object_id WHERE s31_.id IN (15) ORDER BY p0_.id ASC LIMIT 100 OFFSET 0;
      
      100 rows in set (0,02 sec)
      
      +----+-------------+-------+--------+------------------------------------------------------------+----------------------+---------+------------------------+------+-------------+
      | id | select_type | table | type   | possible_keys                                              | key                  | key_len | ref                    | rows | Extra       |
      +----+-------------+-------+--------+------------------------------------------------------------+----------------------+---------+------------------------+------+-------------+
      |  1 | SIMPLE      | s31_  | const  | PRIMARY                                                    | PRIMARY              | 4       | const                  |    1 | NULL        |
      |  1 | SIMPLE      | p0_   | ref    | PRIMARY,UNIQ_45F65936F6BD1646AE880141,IDX_45F65936F6BD1646 | IDX_45F65936F6BD1646 | 4       | const                  | 8875 | Using where |
      |  1 | SIMPLE      | p1_   | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.p0_.id           |    1 | NULL        |
      |  1 | SIMPLE      | p2_   | ref    | IDX_7990D9C97EACE855                                       | IDX_7990D9C97EACE855 | 4       | adsum.p0_.id           |    1 | NULL        |
      |  1 | SIMPLE      | f3_   | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.p2_.file_id      |    1 | NULL        |
      |  1 | SIMPLE      | p4_   | ref    | IDX_6CC279957EACE855                                       | IDX_6CC279957EACE855 | 4       | adsum.p0_.id           |    1 | NULL        |
      |  1 | SIMPLE      | f5_   | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.p4_.file_id      |    1 | NULL        |
      |  1 | SIMPLE      | p6_   | ref    | IDX_9478F0F7232D562B                                       | IDX_9478F0F7232D562B | 5       | adsum.p0_.id           |    1 | NULL        |
      |  1 | SIMPLE      | c7_   | ref    | IDX_FE0561D77EACE855                                       | IDX_FE0561D77EACE855 | 5       | adsum.p0_.id           |    1 | NULL        |
      |  1 | SIMPLE      | p8_   | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.c7_.id           |    1 | NULL        |
      |  1 | SIMPLE      | l9_   | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.c7_.id           |    1 | NULL        |
      |  1 | SIMPLE      | c10_  | ref    | IDX_A653A52A232D562B                                       | IDX_A653A52A232D562B | 5       | adsum.c7_.id           |    1 | NULL        |
      |  1 | SIMPLE      | c32_  | ref    | IDX_5879B28C7EACE855                                       | IDX_5879B28C7EACE855 | 4       | adsum.p0_.id           |    1 | Using index |
      |  1 | SIMPLE      | c11_  | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.c32_.category_id |    1 | NULL        |
      |  1 | SIMPLE      | c12_  | ref    | IDX_1C60F915232D562B                                       | IDX_1C60F915232D562B | 5       | adsum.c11_.id          |    1 | NULL        |
      |  1 | SIMPLE      | p33_  | ref    | IDX_720979277EACE855                                       | IDX_720979277EACE855 | 4       | adsum.p0_.id           |    1 | Using index |
      |  1 | SIMPLE      | p13_  | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.p33_.place_id    |    1 | NULL        |
      |  1 | SIMPLE      | p14_  | ref    | IDX_64E377A92FD6B47                                        | IDX_64E377A92FD6B47  | 5       | adsum.p0_.id           |    4 | NULL        |
      |  1 | SIMPLE      | p15_  | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.p14_.parentId    |    1 | NULL        |
      |  1 | SIMPLE      | p16_  | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.p15_.id          |    1 | NULL        |
      |  1 | SIMPLE      | s17_  | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.p15_.id          |    1 | NULL        |
      |  1 | SIMPLE      | p18_  | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.p15_.id          |    1 | NULL        |
      |  1 | SIMPLE      | e19_  | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.p15_.id          |    1 | NULL        |
      |  1 | SIMPLE      | r20_  | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.p15_.id          |    1 | NULL        |
      |  1 | SIMPLE      | s21_  | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.p15_.id          |    1 | NULL        |
      |  1 | SIMPLE      | p22_  | ref    | IDX_64E377A910EE4CEE                                       | IDX_64E377A910EE4CEE | 5       | adsum.p0_.id           |    2 | NULL        |
      |  1 | SIMPLE      | p23_  | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.p22_.childId     |    1 | NULL        |
      |  1 | SIMPLE      | p24_  | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.p23_.id          |    1 | NULL        |
      |  1 | SIMPLE      | s25_  | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.p23_.id          |    1 | NULL        |
      |  1 | SIMPLE      | p26_  | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.p23_.id          |    1 | NULL        |
      |  1 | SIMPLE      | e27_  | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.p23_.id          |    1 | NULL        |
      |  1 | SIMPLE      | r28_  | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.p23_.id          |    1 | NULL        |
      |  1 | SIMPLE      | s29_  | eq_ref | PRIMARY                                                    | PRIMARY              | 4       | adsum.p23_.id          |    1 | NULL        |
      |  1 | SIMPLE      | p30_  | ref    | IDX_9478F0F7232D562B                                       | IDX_9478F0F7232D562B | 5       | adsum.p23_.id          |    1 | NULL        |
      +----+-------------+-------+--------+------------------------------------------------------------+----------------------+---------+------------------------+------+-------------+