LQW_home 2019-05-15 11:15 采纳率: 91.7%
浏览 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条)

报告相同问题?