4
回答
MySQL多表查询SQL优化
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   

现在有两张表 blog, comment. 表结构如下。

CREATE TABLE `blog` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `title` varchar(50) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB CHARSET=utf8;

CREATE TABLE `comment` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `blogId` int(11) NOT NULL,
  `username` varchar(50) NOT NULL,
  `publish_time` varchar(10) NOT NULL,
  `content` longtext NOT NULL,
  PRIMARY KEY (`id`),
  KEY `blogId` (`blogId`)
) ENGINE=InnoDB CHARSET=utf8;

数据如下

insert into blog values(null, "标题1"), (null, "标题2");
insert into comment values(null, 1, 'user1', '2017-09-05', 'content1'),(null, 2, 'user2', '2017-09-05', 'content2');

现在想输出这样的结果

+---------+-----------+--------------+-----------+
| title   | username  | publish_time | content        |
+---------+-----------+--------------+-----------+

| 标题1   | user1     | 2017-09-05   | content1  |
| 标题2   | user2     | 2017-09-05   | content2  |
+---------+-----------+--------------+-----------+

我写的SQL语句是这样的,最容易想的:

select blog.title,comm.username,comm.publish_time,comm.content from blog
inner join
comment comm
on blog.id = comm.blogId
order by comm.id desc limit 3;

网上看到许多的优化方法。试过但是还是云里雾里状态。

所以请求各位大侠的优化方案。

 

举报
Hejs
发帖于3个月前 4回/227阅
顶部