使用的是阿里云服务器,mysql5.7,单表数据量两百万左右, 每一条sql 间隔一段时间的第一次查询 都很慢,之后的查询都快很多,比如,有些查询,第一次查询 30s,第二次之后3s。
    这种问题,如何解决?

解决方案 »

  1.   

    第二次执行相同SQL查询语句是因为已经缓存了结果。第一次需要30S,则使用EXPLAIN看一下执行计划。然后根据情况添加必要的索引或者优化查询。
      

  2.   

    也就是说 第一次查询的值 是真实的sql查询语句 的效率?后面的查询是 从缓存中获得,所以会快
      

  3.   

    https://help.aliyun.com/knowledge_detail/41717.html
      

  4.   

    看一下执行计划explain,是否有合适的索引。
      

  5.   

    楼上说的都对。索引分区。或者改查询sql总有一个适合你
      

  6.   

    配置文件innodb_buffer_pool_size大小是多少,服务器内存是多大的。
      

  7.   

    缓冲池大小看看多少。隔一段时间查询慢就是说数据再LRU链表里被移除了,也就是缓冲池不够大,增大脏页占比。
    还有看看是不是开了查询缓冲