MySQL双活的应用,高并发状态下一般会造成什么问题?如何做?

参与7

2同行回答

冯帅冯帅数据库管理员贝壳金服
在高并发状态下,尤其数据在频繁修改的状态下,很可能出现脏数据,也有可能造成脏读,不可重复读等问题一般保证在实现功能的基础上,尽量减少对数据库的访问次数,使用必要的缓存系统,减轻网络负担;能够分开的操作尽量分开处理,提高每次的响应速度;在数据窗口使用SQL时,尽量把使用的索引...显示全部

在高并发状态下,尤其数据在频繁修改的状态下,很可能出现脏数据,也有可能造成脏读,不可重复读等问题
一般保证在实现功能的基础上,尽量减少对数据库的访问次数,使用必要的缓存系统,减轻网络负担;能够分开的操作尽量分开处理,提高每次的响应速度;在数据窗口使用SQL时,尽量把使用的索引放在选择的首列,算法的结构尽量简单,在查询时,不要过多地使用通配符如SELECT * FROM TABLE语句,要用到几列就选择几列如,在可能的情况下尽量限制尽量结果集行数,因为某些情况下用户是不需要那么多的数据的,在没有建索引的情况下,数据库查找某一条数据,就必须进行全表扫描了,对所有数据进行一次遍历,查找出符合条件的记录。在数据量比较小的情况下,也许看不出明显的差别,但是当数据量大的情况下,这种情况就是极为糟糕的了
最主要的还是要结合应用一起去应对。

收起
融资租赁 · 2017-10-22
浏览1940
renou2012renou2012数据库管理员KE
高并发的问题确实很麻烦,特别是在双活的情况选,常规的而言,优化查询,特别是只读查询,对于查询可以通过读写分离或者缓存来处理,然后是双写的压力,这边可能会造成双向同步的压力过大,还有表的锁定问题,还有就是因为数据的延迟问题可能会造成数据短期的不一致,这个就需要结合业务了。...显示全部

高并发的问题确实很麻烦,特别是在双活的情况选,常规的而言,优化查询,特别是只读查询,对于查询可以通过读写分离或者缓存来处理,然后是双写的压力,这边可能会造成双向同步的压力过大,还有表的锁定问题,还有就是因为数据的延迟问题可能会造成数据短期的不一致,这个就需要结合业务了。

收起
金融其它 · 2017-10-20
浏览2017

问题来自

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2017-10-20
  • 关注会员:3 人
  • 问题浏览:4712
  • 最近回答:2017-10-22
  • X社区推广