全球主机交流论坛

标题: mysql 查询为什么会加锁呢? [打印本页]

作者: 斌斌    时间: 2023-12-9 12:11
标题: mysql 查询为什么会加锁呢?
怎么优化,现在高并发,有的人查询总是等待。不知道怎么优化。
作者: 不知道    时间: 2023-12-9 12:13
加锁是为了保证数据的一致性和并发性。优化可增加索引。
作者: 夏生啊    时间: 2023-12-9 12:13
本帖最后由 夏生啊 于 2023-12-9 12:16 编辑

索引优化,加只读实例读写分离,不行就上缓存呗
作者: Salta    时间: 2023-12-9 12:17
查询为啥会加锁?你查询代码不会是 SELECT ... FOR UPDATE吧? 如果你是这样并且数据库还没做索引的话,全表都给你锁了...
作者: 斌斌    时间: 2023-12-9 12:23
Salta 发表于 2023-12-9 12:17
查询为啥会加锁?你查询代码不会是 SELECT ... FOR UPDATE吧? 如果你是这样并且数据库还没做索引的话,全 ...

没有这种代码,但是我腾讯云后台显示的是这样呢。奇怪。
作者: 草丛中一杯茶    时间: 2023-12-9 12:24
斌斌 发表于 2023-12-9 12:23
没有这种代码,但是我腾讯云后台显示的是这样呢。奇怪。

那就检查代码,这种锁效率低下,全表锁
作者: 小飞棍来咯    时间: 2023-12-9 12:36
语法不要模糊查询,优化算法代码,再增加索引,硬件上可以做读写分离,加硬件配置
作者: 斌斌    时间: 2023-12-9 12:56
草丛中一杯茶 发表于 2023-12-9 12:24
那就检查代码,这种锁效率低下,全表锁

关键是我想问,select 他为什么会自动加锁,得知道为什么,才好解决。
作者: 你号没了    时间: 2023-12-9 13:02
做个主从同步吧

主做写入。从做查询
作者: jaazz    时间: 2023-12-9 13:10
读写分离
作者: longmao    时间: 2023-12-9 14:08
鹅场的数据库代理比较适合你,或者多买几个只读实例
作者: 920    时间: 2023-12-9 14:32
用 redis 缓存,我这qps 1000+ 也没这问题。。。
作者: 草丛中一杯茶    时间: 2023-12-9 14:41
斌斌 发表于 2023-12-9 12:56
关键是我想问,select 他为什么会自动加锁,得知道为什么,才好解决。

这个要看具体程序了,本来加锁就是为了防止并发造成数据问题,具体加什么样的锁,锁的方式是什么,不能一概而论的
作者: hahate    时间: 2023-12-9 14:57
如果你读写很频繁那么建议做读写分离,按道理只读一般是不需要加锁的,就算加也是s锁,当然具体问题具体分析,没人知道你的业务,你这问题问的太宽泛




欢迎光临 全球主机交流论坛 (https://hostloc.gdisk.cf/) Powered by Discuz! X3.4