前言

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语句的解决方法相关推荐

  1. Java并发--ConcurrentModificationException(并发修改异常)异常原因和解决方法

    Java并发--ConcurrentModificationException(并发修改异常)异常原因和解决方法 参考文章: (1)Java并发--ConcurrentModificationExce ...

  2. 计算机桌面曝光,win7电脑桌面壁纸曝光过高影响图标怎么办?亲测实用解决方法...

    原标题:win7电脑桌面壁纸曝光过高影响图标怎么办?亲测实用解决方法 现在用win7系统的人应该还是挺多的吧,虽然说windows家族已经升级到现在的win11了,相信大多数人家用的电脑系统还是win ...

  3. 错误代码,1302 行高列宽超出页面大小设置,解决方法

    错误代码,1302 行高列宽超出页面大小设置,解决方法 使用报表报错: java.lang.RuntimeException: 错误代码:1302 行高列宽超出页面大小设置行 原因: 数据库表里面存在 ...

  4. Wallpaper Engine卡顿,CPU占用高,独显没有被使用的解决方法

    Wallpaper Engine卡顿,CPU占用高,独显没有被使用的解决方法 1.独显设置 2.安装核显驱动 如果你的PC有独立显卡,但是WE桌面卡顿,用任务管理器查看发现CPU占用率高,独显没有被使 ...

  5. mysql创建连接失败怎么办,MYSQL在Windows 2003上连接不上的解决方法

    MYSQL在Windows 2003上连接不上的解决方法 今天搭建mysql数据库,连接了半天,都提示10061错误,以为密码出了问题试了半天,压根连服务都连接不上,忙活了半个多小时,才发现是系统补丁 ...

  6. mysql 报错 get error 28 from storage engine 解决方法

    mysql 报错 get error 28 from storage engine 解决方法 参考文章: (1)mysql 报错 get error 28 from storage engine 解决 ...

  7. MySQL Workbench/SQLyog 高分辨率屏幕上界面模糊的解决方法

    MySQL Workbench/SQLyog 高分辨率屏幕上界面模糊的解决方法 参考文章: (1)MySQL Workbench/SQLyog 高分辨率屏幕上界面模糊的解决方法 (2)https:// ...

  8. mysql删除数据后id自增不连续的解决方法

    mysql删除数据后id自增不连续的解决方法 参考文章: (1)mysql删除数据后id自增不连续的解决方法 (2)https://www.cnblogs.com/weifeng-888/p/1163 ...

  9. 如果不知道MySQL当前使用配置文件(my.cnf)的路径的解决方法

    如果不知道MySQL当前使用配置文件(my.cnf)的路径的解决方法 参考文章: (1)如果不知道MySQL当前使用配置文件(my.cnf)的路径的解决方法 (2)https://www.cnblog ...

最新文章

  1. matlab分类器设计,简单分类器的MATLAB实现.doc
  2. 网络运维工作是什么的?
  3. ODBC学习(一)基本理论
  4. hdfs中与file数组类似的数组_Chapter05 Java中的数组
  5. React开发(230):ant design table固定表头
  6. 【2016年第6期】情境大数据建模及其在用户行为预测中的应用
  7. 构建大数据网络 需要重视这五个地方
  8. 代码阅读工具-global
  9. QQ客户端聊天窗口输入/自动变成表情 - 解决方案
  10. mpu6050惯性导航学习记录
  11. linux ubuntu 五笔输入法,ubuntu下安装fcitx五笔输入法
  12. MFC程序阻止别的软件隐藏窗口,或拦截WM_SHOWWINDOW消息
  13. 我的男女偶像:莱昂纳多和林青霞
  14. 什么是MeasurementStudio?
  15. 根据IP获取地理位置信息 — Golang
  16. html翻牌动画效果,js+css3翻牌动画效果
  17. WordPress部分函数详解
  18. 2019java 开发工程师 最新面试官 问的问题
  19. 中台的问题,是技术的问题,还是人的问题
  20. 了解黑客常用的工具,我也能反黑了

热门文章

  1. extjs 修改官方主题
  2. 2023“认证杯”数学中国数学建模赛题浅析
  3. 谷歌夺权之前,雅虎统治硅谷的那些年
  4. 将两个字符串合并成一个字符串(存在范围可自行调整)
  5. PHP CTF常见考题的绕过技巧
  6. 除法指令div.divu
  7. 微信小程序之wxs页面使用正则表达式
  8. Flexsim第一周--代码部分学习
  9. xml中的sql 标签中应使用 尖括号,感叹号 注释. 其他方式会被当成sql语句执行.
  10. 当当、卓越、京东商城货物配送流程揭秘