首页 新闻 会员 周边 捐助

Sql并发问题

0
悬赏园豆:50 [已解决问题] 解决于 2019-10-16 17:48

有一张咨询量表,一百万数据左右。现在有2000人左右要一直访问查询,并且改变数据状态。其中改变状态和添加服务日志在同一事务。最近数据库一直报错,高峰期一直有大量查询等待。最后报超时错误。
请问有什么办法解决吗?还有这几百人同时操作该事务 会造成死锁吗?谢谢。

问题补充:

高峰期会报这个错误。

蕴秀的主页 蕴秀 | 初学一级 | 园豆:149
提问于:2019-09-28 19:14

这是性能问题,不是并发问题

dudu 5年前

@dudu: 是数据库性能吗?这个要怎么解决呢?

蕴秀 5年前
< >
分享
最佳答案
0

建议,修改状态简单就好。为什么还要把日志放一起做事务?
第一步就是把这事务去掉。

第二步,如果还有问题尽量在这个查询上多做条件限制,比如查询一定是先要选择某某类型,比如必须选查询时间?或者必需选择某某类别后才能查询,这样可以尽量索引范围。

如果再不行,可以考虑分表来处理。

收获园豆:50
gw2010 | 小虾三级 |园豆:1487 | 2019-09-30 16:18

这个日志就是记录谁操作的数据,谁修改的之类的,所以加的事务。

蕴秀 | 园豆:149 (初学一级) | 2019-10-11 09:10

@蕴秀: 即使这样,日志也不是核心业,其实好多系统业务都不用加事务,只有钱才加事务,日志不是说不重要,但是在其他业务面前就是垃圾。可能一年能不能查得到一次用得上。如果说频繁地要查询日志分析问题,查看谁操作的,谁动了数据,那你还不如做成功能,或者本身系统就不稳定。

gw2010 | 园豆:1487 (小虾三级) | 2019-10-11 16:30

@蕴秀: 关键是你数据量大,访问量大,你还这样做- -!

gw2010 | 园豆:1487 (小虾三级) | 2019-10-11 16:31

@gw2010: 对的,还真有查看这条数据都被谁操作过。

蕴秀 | 园豆:149 (初学一级) | 2019-10-14 09:06

@蕴秀: 算了说不通哈,我知道你要查。但是你放事务里就奇葩了。

gw2010 | 园豆:1487 (小虾三级) | 2019-10-14 13:12

@蕴秀: 淘宝就是下单都不能放事务里,他们可以用补偿机制。并发大的怎么可能这样放事务嘛。
给你解释了大半天,你还是这么固执!

gw2010 | 园豆:1487 (小虾三级) | 2019-10-14 13:13

@gw2010: sorry,我没有固执,我只是跟你说明情况,我知道你的好意,我也没跟你犟的意思啊。另外这也不是我写的,我才来公司半个月。我说删了重改,我说了也不算啊

蕴秀 | 园豆:149 (初学一级) | 2019-10-15 09:04
其他回答(8)
0

建议使用乐观锁,参考 SQL-乐观锁,悲观锁之于并发

dudu | 园豆:30778 (高人七级) | 2019-09-28 19:39
0

有做了数据索引了吗,把数据库索引做好,对比一下查询速度试试。

墨镜带佬星 | 园豆:2310 (老鸟四级) | 2019-09-29 07:37
1

数据库采用乐观锁+事务,还可以用消息队列来异步处理这些请求

西红柿炒番茄拌土豆 | 园豆:154 (初学一级) | 2019-09-29 09:19
0

按主键来更新数据。主键类型用数值类型比字符类型更快。更新数据可以异步线程实现。另外,查询的数据,可以缓存到服务器里,这样可以减少db连接。

buguge | 园豆:399 (菜鸟二级) | 2019-09-29 17:46
0

很怀疑是不是已经把数据库查“死”了,我已经遇到过背时的人写的查询,硬生生写成死循环,然后...查询一下就减速了

花飘水流兮 | 园豆:13615 (专家六级) | 2019-09-30 00:05

我也是最近刚到公司半个月,我看好多查询都很多条件,多的十几个where条件。。

支持(0) 反对(0) 蕴秀 | 园豆:149 (初学一级) | 2019-09-30 09:18
0

我来了,教会LZ删除index比什么都重要,建index比删index容易很多,合理分区,tableidx都是解决方案,至于锁,存在就是合理,别太乐观

A.Z | 园豆:311 (菜鸟二级) | 2019-10-01 12:15
0

1、先试下查询里面的where条件减少,先自己判断下到底是where查询的问题,还是性能问题

日行二善 | 园豆:222 (菜鸟二级) | 2019-10-02 12:07
0

1.确认查询语句是否合理,针对慢查询进行修改;
2.合理建立索引,提供查询效率;
3.部分查询,可以使用队列进行查询,以消除突发查询高峰,避免冲突。

从此寂静无声 | 园豆:210 (菜鸟二级) | 2019-10-06 18:11
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册