mysql longtext查询非常慢_mysql中longtext存在大量数据时,会导致查询很慢?

一个表,1.5w条数据,字段: id,name,content,last_update_time

id,自定义主键

name,varchar类型

content是longtext类型,

last_update_time为datetime类型,不为空

content当中是文本和代码等,平均长度在20k+。

case1:

select id, name from t order by last_update_time limit 10000, 10

当content当中有大量的文本时,case1的效率极慢。

及时给 last_update_time 加上btree索引, 效率有提升,但是依然慢

把content一列删掉,效率很高。毫秒级别。

使用explain:

有content时结果:

mysql> explain select id, name, last_update_time from t order by last_update_time desc limit 11120, 11;

+----+-------------+-----------+-------+---------------+----------------------+---------+------+-------+-------+

| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |

+----+-------------+-----------+-------+---------------+----------------------+---------+------+-------+-------+

| 1 | SIMPLE | t | index | NULL | idx_last_update_time | 8 | NULL | 11131 | NULL |

+----+-------------+-----------+-------+---------------+----------------------+---------+------+-------+-------+

无content列的结果:

+----+-------------+----------------+------+---------------+------+---------+------+-------+----------------+

| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |

+----+-------------+----------------+------+---------------+------+---------+------+-------+----------------+

| 1 | SIMPLE | t2 | ALL | NULL | NULL | NULL | NULL | 15544 | Using filesort |

+----+-------------+----------------+------+---------------+------+---------+------+-------+----------------+

1 row in set (0.00 sec)

请大神请教,是什么问题?该怎么优化?


版权声明:本文为weixin_42396174原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。