开发者社区> 问答> 正文

MySQL数据库有一百多万条的记录查询需要1秒多,速度还能否进行优化

当前数据库的记录有1562026条, 数据库总大小在296.1 MB。其中
数据 198,496 KB
索引 104,685 KB

建立了4个字段的索引

PRIMARY articleid 自动增加
INDEX url 地址,不会重复
INDEX flag 标志,有重复
INDEX title 标题,有重复

mysql> select count(*) from wis_article;
count(*)
1562026

1 row in set (0.16 sec)

第一万条开始
mysql> select * from wis_article limit 10000,30;
30 rows in set (0.12 sec)

第十万条开始
mysql> select * from wis_article limit 100000,30;
30 rows in set (0.19 sec)

第一百万条开始
mysql> select * from wis_article limit 1000000,30;
30 rows in set (1.83 sec)

但如果用
mysql> select articleid from wis_article limit 1000000,30;
30 rows in set (0.33 sec)

mysql> select url from wis_article limit 1000000,30;
30 rows in set (0.80 sec)

mysql> select flag from wis_article limit 1000000,30;
30 rows in set (0.32 sec)
时间就稍微短

mysql> select title from wis_article limit 1000000,30;
30 rows in set (1.06 sec)
还是1秒多

展开
收起
蛮大人123 2016-02-05 23:53:26 9270 0
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    用Select语句的时候一定要做到该用的数据才取,不要该用的就别取出来,不要什么都是select *,那样对数据库的读取压力都会加大.想要取什么字段就详细的写出来,不要因为想节省一秒种时间,而搞得对数据库加大很大压力,尤其数据很多时!

    2019-07-17 18:38:12
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像