小编Jos*_*ker的帖子

MySQL 在连接另一个表时不使用索引

我有两个表,第一个表包含 CMS 中的所有文章/博客文章。其中一些文章也可能出现在杂志中,在这种情况下,它们与包含杂志特定信息的另一个表具有外键关系。

这是这两个表的 create table 语法的简化版本,其中删除了一些非必要的行:

CREATE TABLE `base_article` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `date_published` datetime DEFAULT NULL,
  `title` varchar(255) NOT NULL,
  `description` text,
  `content` longtext,
  `is_published` int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  KEY `base_article_date_published` (`date_published`),
  KEY `base_article_is_published` (`is_published`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

CREATE TABLE `mag_article` (
    `basearticle_ptr_id` int(11) NOT NULL,
    `issue_slug` varchar(8) DEFAULT NULL,
    `rubric` varchar(75) DEFAULT NULL,
    PRIMARY KEY (`basearticle_ptr_id`),
    KEY `mag_article_issue_slug` (`issue_slug`),
    CONSTRAINT `basearticle_ptr_id_refs_id` FOREIGN KEY (`basearticle_ptr_id`) REFERENCES `base_article` (`id`)
) ENGINE=InnoDB DEFAULT …
Run Code Online (Sandbox Code Playgroud)

mysql performance index join order-by

12
推荐指数
1
解决办法
2万
查看次数

标签 统计

index ×1

join ×1

mysql ×1

order-by ×1

performance ×1