mysql的查询优化

问题描述

clipboard.png
如图, 数据库保存了5w条数据,现在业务需要确实是需要这么多的数据,现在的做法是一开始将所有的数据查询出来, 然后塞到redis中,然后在从redis里面挨个挨个去处理数据,但是select * from table_name 直接就消耗了36s,这个改如何优化

问题出现的环境背景及自己尝试过哪些方法

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)

你期待的结果是什么?实际看到的错误信息又是什么?

阅读 2.3k
4 个回答

只有5w条数据, 查询竟然消耗了36s, 是不是数据库机器性能太差?
具体怎么优化要结合具体的业务场景.
比如说你这总数量量是500w条, 你是要在500w条例查出5w条, 可以通过建立索引提高查询速度.
如果要使用缓存, 可以在服务器启动的时候同步读入redis中, 以后如有数据更新同步更新redis即可.

这个....有点太慢了哈
分页查吧,1000条或者2000条查一次,查一次存一次,这样就快了,如果数据库没法优化,你没必要一次查完..

提问题都是这么提的吗?直接把考试或面试内容粘贴过来?

"问题出现的环境背景及自己尝试过哪些方法
相关代码
// 请把代码文本粘贴到下方(请勿用图片代替代码)

你期待的结果是什么?实际看到的错误信息又是什么?"


先把 * 移除,改成需要的属性,输出过多属性十分占用内存

塞到redis是通过脚本来处理么,如果是的话直接在脚本里取不就完了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题