mysql 查询时间太长会挂掉么?

select * from table order by rand() limit 100;
\\效率低下,执行一次大概需要0.1s

如果同时来500条这样的请求,那第500条请求不是得等50s,这个请求不会挂掉么

PS.准备这两天测试下,不过还是期望有同学先来分析下,顺便推荐些相关书籍

阅读 5.7k
2 个回答

不会挂掉,只会取决于你的 mysql 服务器有多强大。如果你的数据比较少能够全部放入缓存里面的话,很有可能会远小于 50s,不过这个都说不准,得看你的机器实际配置。

会让 mysql 挂掉的一般就是并发的 insert + update,因为排队的锁太多导致 mysql 等待锁时间找出限额导致自动崩溃。

书的话《MySQL性能调优与架构设计》这本书作为入门还不错,更多进阶的内容应该去看看 Mysql Performance Blog

不会,因为mysql是多线程的模型,而具体的请求时间受 mysql的连接数及线程数的有关

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