小编Vix*_*xxs的帖子

避免使用INNER JOIN + ORDER BY进行文件排序

我一直在阅读其他帖子,但我没有设法修复我的查询.

使用DESC命令查询慢了x20倍,我必须改进它.这是查询:

SELECT posts.post_id, posts.post_b_id, posts.post_title, posts.post_cont, posts.thumb, posts.post_user, boards.board_title_l, boards.board_title
FROM posts
INNER JOIN follow ON posts.post_b_id = follow.board_id
INNER JOIN boards ON posts.post_b_id = boards.board_id
WHERE follow.user_id =1
ORDER BY posts.post_id DESC 
LIMIT 10
Run Code Online (Sandbox Code Playgroud)

这些是表格(更新):

CREATE TABLE IF NOT EXISTS `posts` (
`post_id` int(11) NOT NULL AUTO_INCREMENT,
`post_b_id` int(11) unsigned NOT NULL,
`post_title` varchar(50) COLLATE utf8_bin NOT NULL,
`post_cont` text COLLATE utf8_bin NOT NULL,
`post_mintxt` varchar(255) COLLATE utf8_bin NOT NULL,
`post_type` char(3) COLLATE utf8_bin NOT NULL, …
Run Code Online (Sandbox Code Playgroud)

mysql sql join sql-order-by filesort

5
推荐指数
1
解决办法
1975
查看次数

标签 统计

filesort ×1

join ×1

mysql ×1

sql ×1

sql-order-by ×1