mysql高并发insert_高并发insert语句的解决方法
前言
1、防止数据多次修改
1.1 、insert方案
1、添加uniqpue进行解决(重复则是更新)
insert一般没什么问题,直接控制好unique就可以,这样的话,就不会插入两条(如果重复了则,进行更新操作)
2、update方案
1、redis分布式锁、消息队列(每次只插入一个)
2、mysql锁(更新可以使用乐观锁)
2、高并发下的安全性
1、在线的网站上去执行一个大的DELETE或INSERT查询,要避免你的操作让你的整个网站停止相应。因为这两个操作是会锁表的(update也是,如果没有指定唯一主键或者索引的话,会锁表),表一锁住了,别的操作都进不来了。所以一定要非常小心
2、如果你把你的表锁上一段时间,比如30秒钟,那么对于一个有很高访问量的站点来说,这30秒所积累的访问进程/线程,数据库链接,打开的文件数,可能不仅仅会让你泊WEB服务Crash,还可能会让你的整台服务器马上掛了。 >
2.1、解决方案
2.1.1、表的调整
把表按列变成几张表的方法,这样可以降低表的复杂度和字段的数目,从而达到优化的目的。(如果有一百多个字段是很恐怖的)
示例一:
在Users表中有一个字段是家庭地址,这个字段是可选字段,相比起,而且你在数据库操作的时候除了个人信息外,你并不需要经常读取或是改写这个字段。那么,为什么不把他放到另外一张表中呢?这样会让你的表有更好的性能,大家想想是不是,大量的时候,我对于用户表来说,只有用户ID,用户名,口令,用户角色等会被经常使用。小一点的表总是会有好的性能。
示例二:
你有一个叫“last_login”的字段,它会在每次用户登录时被更新。但是,每次更新时会导致该表的查询缓存被清空。所以,你可以把这个字段放到另一个表中,这样就不会影响你对用户ID,用户名,用户角色的不停地读取了,因为查询缓存会帮你增加很多性能。hp程序员之家
另外,需要注意的是,这些被分出去的字段所形成的表,我们是认为不会经常是join的,否则,这样的性能会比不分割表的时候时还要差,而且,会是极数级的下降
mysql高并发insert_高并发insert语句的解决方法相关推荐
- Java并发--ConcurrentModificationException(并发修改异常)异常原因和解决方法
Java并发--ConcurrentModificationException(并发修改异常)异常原因和解决方法 参考文章: (1)Java并发--ConcurrentModificationExce ...
- 计算机桌面曝光,win7电脑桌面壁纸曝光过高影响图标怎么办?亲测实用解决方法...
原标题:win7电脑桌面壁纸曝光过高影响图标怎么办?亲测实用解决方法 现在用win7系统的人应该还是挺多的吧,虽然说windows家族已经升级到现在的win11了,相信大多数人家用的电脑系统还是win ...
- 错误代码,1302 行高列宽超出页面大小设置,解决方法
错误代码,1302 行高列宽超出页面大小设置,解决方法 使用报表报错: java.lang.RuntimeException: 错误代码:1302 行高列宽超出页面大小设置行 原因: 数据库表里面存在 ...
- Wallpaper Engine卡顿,CPU占用高,独显没有被使用的解决方法
Wallpaper Engine卡顿,CPU占用高,独显没有被使用的解决方法 1.独显设置 2.安装核显驱动 如果你的PC有独立显卡,但是WE桌面卡顿,用任务管理器查看发现CPU占用率高,独显没有被使 ...
- mysql创建连接失败怎么办,MYSQL在Windows 2003上连接不上的解决方法
MYSQL在Windows 2003上连接不上的解决方法 今天搭建mysql数据库,连接了半天,都提示10061错误,以为密码出了问题试了半天,压根连服务都连接不上,忙活了半个多小时,才发现是系统补丁 ...
- mysql 报错 get error 28 from storage engine 解决方法
mysql 报错 get error 28 from storage engine 解决方法 参考文章: (1)mysql 报错 get error 28 from storage engine 解决 ...
- MySQL Workbench/SQLyog 高分辨率屏幕上界面模糊的解决方法
MySQL Workbench/SQLyog 高分辨率屏幕上界面模糊的解决方法 参考文章: (1)MySQL Workbench/SQLyog 高分辨率屏幕上界面模糊的解决方法 (2)https:// ...
- mysql删除数据后id自增不连续的解决方法
mysql删除数据后id自增不连续的解决方法 参考文章: (1)mysql删除数据后id自增不连续的解决方法 (2)https://www.cnblogs.com/weifeng-888/p/1163 ...
- 如果不知道MySQL当前使用配置文件(my.cnf)的路径的解决方法
如果不知道MySQL当前使用配置文件(my.cnf)的路径的解决方法 参考文章: (1)如果不知道MySQL当前使用配置文件(my.cnf)的路径的解决方法 (2)https://www.cnblog ...
最新文章
- matlab分类器设计,简单分类器的MATLAB实现.doc
- 网络运维工作是什么的?
- ODBC学习(一)基本理论
- hdfs中与file数组类似的数组_Chapter05 Java中的数组
- React开发(230):ant design table固定表头
- 【2016年第6期】情境大数据建模及其在用户行为预测中的应用
- 构建大数据网络 需要重视这五个地方
- 代码阅读工具-global
- QQ客户端聊天窗口输入/自动变成表情 - 解决方案
- mpu6050惯性导航学习记录
- linux ubuntu 五笔输入法,ubuntu下安装fcitx五笔输入法
- MFC程序阻止别的软件隐藏窗口,或拦截WM_SHOWWINDOW消息
- 我的男女偶像:莱昂纳多和林青霞
- 什么是MeasurementStudio?
- 根据IP获取地理位置信息 — Golang
- html翻牌动画效果,js+css3翻牌动画效果
- WordPress部分函数详解
- 2019java 开发工程师 最新面试官 问的问题
- 中台的问题,是技术的问题,还是人的问题
- 了解黑客常用的工具,我也能反黑了