56,677
社区成员
发帖
与我相关
我的任务
分享
MariaDB [db2_dalu]> explain SELECT `tid`,`uid`, `d2`.`name` AS `d2name`, `c2`.`name` AS `c2name`, `uname`, `title`, `d2`, `c2`, `addtime`, `uptime`, LEFT(content,220) abstract
FROM `pre_info`
LEFT JOIN (SELECT `id`, `name` FROM `pre_area` WHERE `level`=2) `d2` ON d2.id=d2
LEFT JOIN (SELECT `id`, `name` FROM `pre_info_cat` WHERE `level`=2) `c2` ON c2.id=c2
WHERE (`c2`='13028') AND (`d2`='73') AND (`status` IN (0, 1, 2, -2))
ORDER BY `uptime` DESC LIMIT 10 OFFSET 50;
+------+-------------+--------------+--------+-----------------------------------------------------------------------------+-----------------------+---------+----------------------+------+-----------------------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+------+-------------+--------------+--------+-----------------------------------------------------------------------------+-----------------------+---------+----------------------+------+-----------------------------+
| 1 | SIMPLE | pre_info | range | idx-info-status,idx-info-c2-status,idx-info-d2-status,idx-info-c2-d2-status | idx-info-c2-d2-status | 10 | NULL | 1557 | Using where; Using filesort |
| 1 | SIMPLE | pre_area | eq_ref | PRIMARY,idx-area-level | PRIMARY | 4 | db2_lulu.pre_info.d2 | 1 | Using where |
| 1 | SIMPLE | pre_info_cat | eq_ref | PRIMARY,idx-info-cat-level | PRIMARY | 4 | db2_lulu.pre_info.c2 | 1 | Using where |
+------+-------------+--------------+--------+-----------------------------------------------------------------------------+-----------------------+---------+----------------------+------+-----------------------------+
3 rows in set (0.00 sec)
如果说表分区会导致更慢,那这样表分区有何用途呢
[/quote]
不是没用,而是的用到地方。
就像用高射炮打蚊子,显然不是高射炮没用,而是没用对地方。。。
MariaDB [db2_dalu]> explain SELECT `tid`,`uid`, `d2`.`name` AS `d2name`, `c2`.`name` AS `c2name`, `uname`, `title`, `d2`, `c2`, `addtime`, `uptime`, LEFT(content,220) abstract
FROM `pre_info`
LEFT JOIN (SELECT `id`, `name` FROM `pre_area` WHERE `level`=2) `d2` ON d2.id=d2
LEFT JOIN (SELECT `id`, `name` FROM `pre_info_cat` WHERE `level`=2) `c2` ON c2.id=c2
WHERE (`c2`='13028') AND (`d2`='73') AND (`status` IN (0, 1, 2, -2))
ORDER BY `uptime` DESC LIMIT 10 OFFSET 50;
+------+-------------+--------------+--------+-----------------------------------------------------------------------------+-----------------------+---------+----------------------+------+-----------------------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+------+-------------+--------------+--------+-----------------------------------------------------------------------------+-----------------------+---------+----------------------+------+-----------------------------+
| 1 | SIMPLE | pre_info | range | idx-info-status,idx-info-c2-status,idx-info-d2-status,idx-info-c2-d2-status | idx-info-c2-d2-status | 10 | NULL | 1557 | Using where; Using filesort |
| 1 | SIMPLE | pre_area | eq_ref | PRIMARY,idx-area-level | PRIMARY | 4 | db2_lulu.pre_info.d2 | 1 | Using where |
| 1 | SIMPLE | pre_info_cat | eq_ref | PRIMARY,idx-info-cat-level | PRIMARY | 4 | db2_lulu.pre_info.c2 | 1 | Using where |
+------+-------------+--------------+--------+-----------------------------------------------------------------------------+-----------------------+---------+----------------------+------+-----------------------------+
3 rows in set (0.00 sec)
如果说表分区会导致更慢,那这样表分区有何用途呢