56,681
社区成员
发帖
与我相关
我的任务
分享
mysql> show index from E_info;
+--------+------------+-----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment |
+--------+------------+-----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+
| E_info | 0 | PRIMARY | 1 | infoID | A | 17868847 | NULL | NULL | | BTREE | |
| E_info | 1 | info_time | 1 | info_time | A | 8934423 | NULL | NULL | | BTREE | |
+--------+------------+-----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+
2 rows in set (0.00 sec)
mysql> show index from E_role_info;
+-------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment |
+-------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+
| E_role_info | 0 | PRIMARY | 1 | infoID | A | NULL | NULL | NULL | | BTREE | |
| E_role_info | 0 | PRIMARY | 2 | roleID | A | 82797994 | NULL | NULL | | BTREE | |
+-------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+
2 rows in set (0.00 sec)
mysql> EXPLAIN SELECT SQL_NO_CACHE STRAIGHT_JOIN E_info.infoID, E_info.info_time, E_role_info.roleID, E_role_info.related FROM `E_info` INNER JOIN E_role_info ON E_info.infoID = E_role_info.infoID WHERE E_role_info.roleID = 25669 ORDER BY E_info.infoID DESC LIMIT 0 , 10;
+----+-------------+-------------+--------+---------------+---------+---------+--------------------------------+----------+-------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+-------------+--------+---------------+---------+---------+--------------------------------+----------+-------+
| 1 | SIMPLE | E_info | index | PRIMARY | PRIMARY | 4 | NULL | 17868847 | |
| 1 | SIMPLE | E_role_info | eq_ref | PRIMARY | PRIMARY | 7 | news_data2.E_info.infoID,const | 1 | |
+----+-------------+-------------+--------+---------------+---------+---------+--------------------------------+----------+-------+
2 rows in set (0.00 sec)
mysql> set profiling = 1;
Query OK, 0 rows affected (0.00 sec)
mysql> SELECT SQL_NO_CACHE STRAIGHT_JOIN E_info.infoID, E_info.info_time, E_role_info.roleID, E_role_info.related FROM `E_info` INNER JOIN E_role_info ON E_info.infoID = E_role_info.infoID WHERE E_role_info.roleID = 25669 ORDER BY E_info.infoID DESC LIMIT 0 , 10;
+----------+---------------------+--------+---------+
| infoID | info_time | roleID | related |
+----------+---------------------+--------+---------+
| 42570652 | 2009-04-14 13:27:45 | 25669 | 0 |
| 41944750 | 2009-04-03 20:22:06 | 25669 | 0 |
| 41689393 | 2009-03-31 18:50:38 | 25669 | 0 |
| 40621938 | 2009-03-17 19:46:21 | 25669 | 0 |
| 39723719 | 2009-03-03 06:56:16 | 25669 | 0 |
| 38720505 | 2009-02-13 17:19:20 | 25669 | 0 |
| 35942322 | 2008-12-15 16:10:12 | 25669 | 0 |
| 34660663 | 2008-11-20 21:19:51 | 25669 | 0 |
| 34014787 | 2008-11-08 14:09:59 | 25669 | 0 |
| 33803833 | 2008-11-04 21:31:38 | 25669 | 0 |
+----------+---------------------+--------+---------+
10 rows in set (1 min 14.45 sec)
mysql> show profile;
+--------------------------------+-----------+
| Status | Duration |
+--------------------------------+-----------+
| (initialization) | 0.000002 |
| checking query cache for query | 0.0000900 |
| Opening tables | 0.000011 |
| System lock | 0.000005 |
| Table lock | 0.000008 |
| init | 0.000023 |
| optimizing | 0.000015 |
| statistics | 0.00002 |
| preparing | 0.000016 |
| executing | 0.000003 |
| Sorting result | 0.000003 |
| Sending data | 74.450095 |
| end | 0.000008 |
| query end | 0.000003 |
| freeing items | 0.00001 |
| closing tables | 0.000004 |
| logging slow query | 0.000002 |
+--------------------------------+-----------+
17 rows in set (0.01 sec)
mysql> show index from E_info;
+--------+------------+-----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment |
+--------+------------+-----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+
| E_info | 0 | PRIMARY | 1 | infoID | A |17868847 | NULL | NULL | | BTREE | |
| E_info | 1 | info_time | 1 | info_time | A | 8934423 | NULL | NULL | | BTREE | |
+--------+------------+-----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+
2 rows in set (0.05 sec)
mysql> show index from E_role_info;
+-------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment |
+-------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+
| E_role_info | 1 | infoID | 1 | infoID | A | 13850305 | NULL | NULL | | BTREE | |
| E_role_info | 1 | roleID | 1 | roleID | A | 71639 | NULL | NULL | | BTREE | |
+-------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+
2 rows in set (0.03 sec)
mysql>
mysql> EXPLAIN SELECT STRAIGHT_JOIN E_info.infoID, E_info.info_time, E_role_info.roleID, E_role_info.related FROM `E_info` INNER JOIN E_role_info ON E_info.infoID = E_role_info.infoID WHERE E_role_info.roleID = 25669 ORDER BY E_info.infoID DESC LIMIT 0 , 10;
+----+-------------+-------------+-------+---------------+---------+---------+--------------------------+----------+-------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+-------------+-------+---------------+---------+---------+--------------------------+----------+-------------+
| 1 | SIMPLE | E_info | index | PRIMARY | PRIMARY | 4 | NULL | 17868847 | |
| 1 | SIMPLE | E_role_info | ref | infoID,roleID | infoID | 4 | news_data2.E_info.infoID | 6 | Using where |
+----+-------------+-------------+-------+---------------+---------+---------+--------------------------+----------+-------------+
2 rows in set (0.00 sec)
mysql> EXPLAIN SELECT STRAIGHT_JOIN E_info.infoID, E_info.info_time, E_role_info.roleID, E_role_info.related FROM `E_info` INNER JOIN E_role_info ON E_info.infoID = E_role_info.infoID WHERE E_role_info.roleID = 25669 ORDER BY E_info.infoID DESC LIMIT 0 , 10;
+----+-------------+-------------+-------+---------------+---------+---------+--------------------------+----------+-------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+-------------+-------+---------------+---------+---------+--------------------------+----------+-------------+
| 1 | SIMPLE | E_info | index | PRIMARY | PRIMARY | 4 | NULL | 17868847 | |
| 1 | SIMPLE | E_role_info | ref | infoID,roleID | infoID | 4 | news_data2.E_info.infoID | 6 | Using where |
+----+-------------+-------------+-------+---------------+---------+---------+--------------------------+----------+-------------+
2 rows in set (0.00 sec)
mysql> SELECT STRAIGHT_JOIN E_info.infoID, E_info.info_time, E_role_info.roleID, E_role_info.related FROM `E_info` INNER JOIN E_role_info ON E_info.infoID = E_role_info.infoID WHERE E_role_info.roleID = 25669 ORDER BY E_info.infoID DESC LIMIT 0 , 10;
+----------+---------------------+--------+---------+
| infoID | info_time | roleID | related |
+----------+---------------------+--------+---------+
| 42570652 | 2009-04-14 13:27:45 | 25669 | 1001 |
| 41944750 | 2009-04-03 20:22:06 | 25669 | 1007 |
| 41689393 | 2009-03-31 18:50:38 | 25669 | 1001 |
| 40621938 | 2009-03-17 19:46:21 | 25669 | 1008 |
| 39723719 | 2009-03-03 06:56:16 | 25669 | 1001 |
| 38720505 | 2009-02-13 17:19:20 | 25669 | 1002 |
| 35942322 | 2008-12-15 16:10:12 | 25669 | 1007 |
| 34660663 | 2008-11-20 21:19:51 | 25669 | 1003 |
| 34014787 | 2008-11-08 14:09:59 | 25669 | 1004 |
| 33803833 | 2008-11-04 21:31:38 | 25669 | 1002 |
+----------+---------------------+--------+---------+
10 rows in set (2 min 51.09 sec)
mysql> select SQL_NO_CACHE STRAIGHT_JOIN
-> E_info.infoID, E_info.info_time, E_role_info.roleID, E_role_info.related
-> FROM E_role_info FORCE INDEX( idx_E_role_info_roleID ) INNER JOIN `E_info` ON E_info.infoID = E_role_info.infoID
-> WHERE E_role_info.roleID = 413382
-> ORDER BY E_role_info.infoID DESC LIMIT 10;
+----------+---------------------+--------+---------+
| infoID | info_time | roleID | related |
+----------+---------------------+--------+---------+
| 42880359 | 2009-04-18 07:54:14 | 413382 | 0 |
| 42880353 | 2009-04-18 08:58:21 | 413382 | 0 |
| 42880351 | 2009-04-18 08:58:20 | 413382 | 0 |
| 42880348 | 2009-04-18 08:58:21 | 413382 | 0 |
| 42880347 | 2009-04-18 08:58:21 | 413382 | 0 |
| 42880341 | 2009-04-18 06:23:47 | 413382 | 0 |
| 42880340 | 2009-04-18 08:57:59 | 413382 | 0 |
| 42880339 | 2009-04-18 07:58:28 | 413382 | 0 |
| 42880338 | 2009-04-18 06:23:47 | 413382 | 0 |
| 42880336 | 2009-04-18 06:23:47 | 413382 | 0 |
+----------+---------------------+--------+---------+
10 rows in set (0.06 sec)
mysql>
SELECT SQL_NO_CACHE STRAIGHT_JOIN
E_info.infoID, E_info.info_time, E_role_info.roleID, E_role_info.related
FROM E_role_info FORCE INDEX( idx_E_role_info_roleID ) INNER JOIN `E_info` ON E_info.infoID = E_role_info.infoID
WHERE E_role_info.roleID = 25669
ORDER BY E_info.infoID DESC LIMIT 10;
SELECT SQL_NO_CACHE STRAIGHT_JOIN
E_info.infoID, E_info.info_time, E_role_info.roleID, E_role_info.related
FROM `E_info` INNER JOIN E_role_info FORCE INDEX(idx_E_role_info_roleID) ON E_info.infoID = E_role_info.infoID
WHERE E_role_info.roleID = 25669
ORDER BY E_info.infoID DESC LIMIT 0 , 10;
mysql> SELECT SQL_NO_CACHE STRAIGHT_JOIN E_info.infoID, E_info.info_time, E_role_info.roleID, E_role_info.related FROM E_role_info FORCE INDEX( idx_E_role_info_roleID ) INNER JOIN `E_info` ON E_info.infoID = E_role_info.infoID WHERE E_role_info.roleID = 413382 ORDER BY E_info.infoID DESC LIMIT 10;
+----------+---------------------+--------+---------+
| infoID | info_time | roleID | related |
+----------+---------------------+--------+---------+
| 42880359 | 2009-04-18 07:54:14 | 413382 | 0 |
| 42880353 | 2009-04-18 08:58:21 | 413382 | 0 |
| 42880351 | 2009-04-18 08:58:20 | 413382 | 0 |
| 42880348 | 2009-04-18 08:58:21 | 413382 | 0 |
| 42880347 | 2009-04-18 08:58:21 | 413382 | 0 |
| 42880341 | 2009-04-18 06:23:47 | 413382 | 0 |
| 42880340 | 2009-04-18 08:57:59 | 413382 | 0 |
| 42880339 | 2009-04-18 07:58:28 | 413382 | 0 |
| 42880338 | 2009-04-18 06:23:47 | 413382 | 0 |
| 42880336 | 2009-04-18 06:23:47 | 413382 | 0 |
+----------+---------------------+--------+---------+
10 rows in set (33.43 sec)
mysql> explain
-> select SQL_NO_CACHE STRAIGHT_JOIN
-> E_info.infoID, E_info.info_time, E_role_info.roleID, E_role_info.related
-> FROM E_role_info FORCE INDEX( idx_E_role_info_roleID ) INNER JOIN `E_info` ON E_info.infoID = E_role_info.infoID
-> WHERE E_role_info.roleID = 25669
-> ORDER BY E_info.infoID DESC LIMIT 10;
+----+-------------+-------------+--------+------------------------+------------------------+---------+-------------------------------+------+---
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Ex
+----+-------------+-------------+--------+------------------------+------------------------+---------+-------------------------------+------+---
| 1 | SIMPLE | E_role_info | ref | idx_E_role_info_roleID | idx_E_role_info_roleID | 3 | const | 40 | Us
| 1 | SIMPLE | E_info | eq_ref | PRIMARY | PRIMARY | 4 | news_data2.E_role_info.infoID | 1 |
+----+-------------+-------------+--------+------------------------+------------------------+---------+-------------------------------+------+---
2 rows in set (0.05 sec)
mysql> select SQL_NO_CACHE STRAIGHT_JOIN
-> E_info.infoID, E_info.info_time, E_role_info.roleID, E_role_info.related
-> FROM E_role_info FORCE INDEX( idx_E_role_info_roleID ) INNER JOIN `E_info` ON E_info.infoID = E_role_info.infoID
-> WHERE E_role_info.roleID = 25669
-> ORDER BY E_info.infoID DESC LIMIT 10;
+----------+---------------------+--------+---------+
| infoID | info_time | roleID | related |
+----------+---------------------+--------+---------+
| 42570652 | 2009-04-14 13:27:45 | 25669 | 0 |
| 41944750 | 2009-04-03 20:22:06 | 25669 | 0 |
| 41689393 | 2009-03-31 18:50:38 | 25669 | 0 |
| 40621938 | 2009-03-17 19:46:21 | 25669 | 0 |
| 39723719 | 2009-03-03 06:56:16 | 25669 | 0 |
| 38720505 | 2009-02-13 17:19:20 | 25669 | 0 |
| 35942322 | 2008-12-15 16:10:12 | 25669 | 0 |
| 34660663 | 2008-11-20 21:19:51 | 25669 | 0 |
| 34014787 | 2008-11-08 14:09:59 | 25669 | 0 |
| 33803833 | 2008-11-04 21:31:38 | 25669 | 0 |
+----------+---------------------+--------+---------+
10 rows in set (1.00 sec)
mysql>
mysql> explain SELECT SQL_NO_CACHE STRAIGHT_JOIN E_info.infoID, E_info.info_time, E_role_info.roleID, E_role_info.related FROM `E_info` INNER JOIN E_role_info FORCE INDEX(idx_E_role_info_roleID) ON E_info.infoID = E_role_info.infoID WHERE E_role_info.roleID = 25669 ORDER BY E_info.infoID DESC LIMIT 0 , 10;
+----+-------------+-------------+-------+------------------------+------------------------+---------+--------------------------------+----------+-------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+-------------+-------+------------------------+------------------------+---------+--------------------------------+----------+-------+
| 1 | SIMPLE | E_info | index | PRIMARY | PRIMARY | 4 | NULL | 17868847 | |
| 1 | SIMPLE | E_role_info | ref | idx_E_role_info_roleID | idx_E_role_info_roleID | 7 | const,news_data2.E_info.infoID | 1 | |
+----+-------------+-------------+-------+------------------------+------------------------+---------+--------------------------------+----------+-------+
2 rows in set (0.00 sec)
mysql> SELECT SQL_NO_CACHE STRAIGHT_JOIN E_info.infoID, E_info.info_time, E_role_info.roleID, E_role_info.related FROM `E_info` INNER JOIN E_role_info FORCE INDEX(idx_E_role_info_roleID) ON E_info.infoID = E_role_info.infoID WHERE E_role_info.roleID = 25669 ORDER BY E_info.infoID DESC LIMIT 0 , 10;
+----------+---------------------+--------+---------+
| infoID | info_time | roleID | related |
+----------+---------------------+--------+---------+
| 42570652 | 2009-04-14 13:27:45 | 25669 | 0 |
| 41944750 | 2009-04-03 20:22:06 | 25669 | 0 |
| 41689393 | 2009-03-31 18:50:38 | 25669 | 0 |
| 40621938 | 2009-03-17 19:46:21 | 25669 | 0 |
| 39723719 | 2009-03-03 06:56:16 | 25669 | 0 |
| 38720505 | 2009-02-13 17:19:20 | 25669 | 0 |
| 35942322 | 2008-12-15 16:10:12 | 25669 | 0 |
| 34660663 | 2008-11-20 21:19:51 | 25669 | 0 |
| 34014787 | 2008-11-08 14:09:59 | 25669 | 0 |
| 33803833 | 2008-11-04 21:31:38 | 25669 | 0 |
+----------+---------------------+--------+---------+
10 rows in set (1 min 13.66 sec)
mysql> show index from E_role_info;
+-------------+------------+------------------------+--------------+-------------+-----------+-------------+-
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality |
+-------------+------------+------------------------+--------------+-------------+-----------+-------------+-
| E_role_info | 0 | PRIMARY | 1 | infoID | A | NULL |
| E_role_info | 0 | PRIMARY | 2 | roleID | A | 82797994 |
| E_role_info | 1 | idx_E_role_info_roleID | 1 | roleID | A | 71624 |
| E_role_info | 1 | idx_E_role_info_roleID | 2 | infoID | A | 82797994 |
+-------------+------------+------------------------+--------------+-------------+-----------+-------------+-
4 rows in set (0.05 sec)
mysql> explain
-> select roleID,related,infoID
-> from E_role_info
-> where roleID=413382
-> order by infoID
-> desc limit 10 ;
+----+-------------+-------------+------+------------------------+------------------------+---------+-------+---------+-------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+-------------+------+------------------------+------------------------+---------+-------+---------+-------------+
| 1 | SIMPLE | E_role_info | ref | idx_E_role_info_roleID | idx_E_role_info_roleID | 3 | const | 2753512 | Using where |
+----+-------------+-------------+------+------------------------+------------------------+---------+-------+---------+-------------+
1 row in set (0.03 sec)
mysql> select roleID,related,infoID
-> from E_role_info
-> where roleID=413382
-> order by infoID
-> desc limit 10 ;
+--------+---------+----------+
| roleID | related | infoID |
+--------+---------+----------+
| 413382 | 0 | 42880359 |
| 413382 | 0 | 42880353 |
| 413382 | 0 | 42880351 |
| 413382 | 0 | 42880348 |
| 413382 | 0 | 42880347 |
| 413382 | 0 | 42880341 |
| 413382 | 0 | 42880340 |
| 413382 | 0 | 42880339 |
| 413382 | 0 | 42880338 |
| 413382 | 0 | 42880336 |
+--------+---------+----------+
10 rows in set (0.05 sec)
mysql>
mysql> select count(*) from E_role_info where roleID=413382;
+----------+
| count(*) |
+----------+
| 3089656 |
+----------+
1 row in set (0.94 sec)
mysql>
select b.infoID,b.info_time,a.roleID,a.related from ( select roleID,related,infoID from E_role_info where roleID=413382 order by infoID desc limit 10) a inner join E_info b on a.infoID=b.infoID order by b.info_
mysql> show index from E_role_info;
+-------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment |
+-------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+
| E_role_info | 1 | infoID | 1 | infoID | A | 13850305 | NULL | NULL | | BTREE | |
| E_role_info | 1 | roleID | 1 | roleID | A | 71639 | NULL | NULL | | BTREE | |
+-------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+
2 rows in set (0.05 sec)