mysql使用中应该避免的两个问题
来源:互联网 发布:linux系统支持的游戏 编辑:程序博客网 时间:2024/05/01 10:40
1、非必要的时候避免使用事务,高并发的时候事务会成为瓶颈,出现大量慢查询
2、在超过一个索引的表上,不要使用INSERT...ON DUPLICATE KEY UPDATE,并发执行存在安全隐患.
关于事务的一点资料
常用表引擎:
Myisam:批量插入数据快,不支持事务,锁表
Innodb:批量插入速度相对较慢,支持事务,锁行
事务:
原子性:通俗而言,指一组操作,要么都成功执行,要么都不执行
隔离性:在所有操作没有执行完毕之前,其他会话不能看到中间改变的过程,简单点说就没有真的操作库.
一致性:事务发生前和发生后,数据的总额匹配
持久性:事务产生的影响不能够撤销,如果出现了错误,也不能撤销事务,只能通过“补偿性事务”
简称事务的ACID特性
开启事务:start transaction;
执行sql1....
执行sql2....
commint 提交
rollback回滚
注::当一个事物提交或者回滚后,代表事务已结束;
有一些语句会造成事务隐式地提交:ALTER FUNCTION, ALTER PROCEDURE, ALTER TABLE, BEGIN, CREATE DATABASE, CREATE FUNCTION, CREATE INDEX, CREATE PROCEDURE, CREATE TABLE, DROP DATABASE, DROP FUNCTION, DROP INDEX, DROP PROCEDURE, DROP TABLE, LOAD MASTER DATA, LOCK TABLES, RENAME TABLE, SET AUTOCOMMIT=1, START TRANSACTION, TRUNCATE TABLE, UNLOCK TABLES
- mysql使用中应该避免的两个问题
- 12中应该避免使用的语法
- 避免重复包含应该注意的问题
- 继承中应该注意的两个小问题
- Spring中应该避免的一个错误
- 项目中应该避免的情况
- 项目过程中应该避免的情况
- 使用事务时应该避免的陷井
- 使用事务时应该避免的陷井
- 使用事务时应该避免的陷井
- 使用事务时应该避免的陷阱
- 使用事务时应该避免的陷井
- 使用事务时应该避免的陷井
- 测试项目中应该避免的问题,也是新人容易犯的错误。
- ExtJS开发中应该避免的10个问题(未完)
- 避免mysql注入应该避免特殊字符
- mysql使用建议,尽量避免这些问题
- mysql使用建议,尽量避免这些问题
- XXXImpl表示的含义?
- 黑马程序员:Java学习笔记 基本原理
- 常用的SQL
- 安卓开发-TouchMode
- VIAddversionKey
- mysql使用中应该避免的两个问题
- 什么是MVC模式
- opengl es 2:着色器介绍
- java笔记【七】
- gdb optimized out错误解决
- Cocos2d-x 常见宏
- Proxool连接池解析(上)
- Android Notification详解
- vs2008设置管理权限debug