LQW_home 2019-05-15 11:15 采纳率: 91.3%
浏览 715
已采纳

一条简单的select查询语句 查询出280万条数据,用时3.99s,怎么能优化成一秒内

查询语句

SELECT * FROM salaries ;

表结构

CREATE TABLE `salaries` (
  `emp_no` int(11) NOT NULL,
  `salary` int(11) NOT NULL,
  `from_date` date NOT NULL,
  `to_date` date NOT NULL,
  PRIMARY KEY (`emp_no`,`from_date`),
  KEY `emp_no` (`emp_no`),
  CONSTRAINT `salaries_ibfk_1` FOREIGN KEY (`emp_no`) REFERENCES `employees` (`emp_no`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

  • 写回答

5条回答 默认 最新

  • gwj520319 2019-05-15 14:49
    关注

    首先分析需求280万的数据你一次性取出要怎么展示?有多高的可读性?如果没有,加查询条件过滤无用数据。再根据你的查询条件做索引。
    再一个,如果查询次数比较多数数据不怎么会更新,建议增加缓存机制。第一次查询出来的数据保存到缓存里,下次查询速度就会比较快了。缓存里取数据肯定比连数据库取数据快很多

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥20 关于#qt#的问题:Qt代码的移植问题
  • ¥50 求图像处理的matlab方案
  • ¥50 winform中使用edge的Kiosk模式
  • ¥15 关于#python#的问题:功能监听网页
  • ¥15 怎么让wx群机器人发送音乐
  • ¥15 fesafe材料库问题
  • ¥35 beats蓝牙耳机怎么查看日志
  • ¥15 Fluent齿轮搅油
  • ¥15 八爪鱼爬数据为什么自己停了
  • ¥15 交替优化波束形成和ris反射角使保密速率最大化