当前位置: 首页 > news >正文

保定商城网站建设化工类网站模板

保定商城网站建设,化工类网站模板,北京企业网站建设费用,wordpress sns一、MySQL事务 1.1、什么是MySQL事务? 是用户定义的,将多条命令打包,在服务端执行,要么全部执行,要么全部不执行。保证不会被其他命令加塞,打断。 MySQL当中的事务是自动执行的,默认情况下&…

一、MySQL事务

1.1、什么是MySQL事务?

是用户定义的,将多条命令打包,在服务端执行,要么全部执行,要么全部不执行。保证不会被其他命令加塞,打断。

MySQL当中的事务是自动执行的,默认情况下,每条SQL语句执行完成以后都会自动提交事务。

1.2、手动控制事务

    1. 查看/设置事务的提交方式
SELECT @@autocommit;    -- 查看事务的提交方式,1表示自动提交,0表示手动提交
SET @@autocommit = 0;   -- 设置事务的提交方式为手动提交
    1. 提交事务
-- 执行完事务后,如果要提交事务,使用COMMIT语句
COMMIT;
    1. 回滚事务
-- 如果执行完事务后,发现执行的事务有问题,想要撤销事务,使用ROLLBACK语句
ROLLBACK;

1.3、自动控制事务

    1. 开启事务
START TRANSACTION OR BEGIN;    -- 显式地开启一个事务
    1. 提交事务
COMMIT;
    1. 回滚事务
ROLLBACK;

1.4、事务的特性(ACID)

  • 原子性(Automicity):事务是最小的执行单位,不允许分割,要么全部成功,要么全部失败
  • 一致性(Consistency):事务完成时,所有数据都必须处于一致状态
  • 隔离性(Isolation):数据库系统提供一定的隔离机制,保证事务在不受外部并发操作影响的独立环境下运行
  • 持久性(Durability):事务一旦提交或回滚,它对数据库中的数据的改变就是永久的

1.5、并发事务处理可能遇到的问题

问题描述
脏读(Dirty Read)一个事务在处理过程中读取了另一个未提交的事务中的数据
不可重复读一个事务先后读取同一条记录,但两次读取的数据不同,称为不可重复读
幻读一个事务按照条件查询数据时,没有对应的数据行,但是在插入数据时,又发现这行数据已经存在,好像出现了“幻影”

1.6、事务的隔离级别(为了解决并发事务遇到的问题)

隔离级别脏读不可重复读幻读
读未提交(Read Uncommitted)可能发生可能发生可能发生
读已提交(Read Committed)不可能发生可能发生可能发生
可重复读(Repeatable Read–MySQL默认级别)不可能发生不可能发生可能发生
串行化(Serializable)不可能发生不可能发生不可能发生

注意:

  • 隔离级别从小到大,安全性越高,效率越低,串行化级别效率最低,但是安全性最高

1.7、查看/设置事务的隔离级别

SELECT @@transaction_isolation;    -- 查看事务的隔离级别SET [SESSION|GLOBAL] TRANSACTION ISOLATION LEVEL 隔离级别{READ UNCOMMITTED|READ COMMITTED|REPEATABLE READ|SERIALIZABLE};

二、存储引擎

2.1、 体系结构

在这里插入图片描述

2.2、 存储引擎简介

是存储数据、建立索引、更新/查询数据等技术的实现方式。存储引擎是基于表而不是基于库的,所以存储引擎也可以被称为表引擎,即不同的表可以选择不同的存储引擎。

CREATE TABLE 表名(字段1 数据类型 [约束],...
) ENGINE=存储引擎名称;    -- MySQL5.5以后的版本,默认存储引擎为InnoDB

2.3、查看当前数据库支持的存储引擎

SHOW ENGINES;

2.4、 存储引擎-InnoDB

  • 介绍:InnoDB是一种兼顾高可靠性高性能的通用存储引擎,在MySQL5.5以后版本中是默认的存储引擎。
  • 特点:
      1. DML操作遵循ACID模型,支持事务安全(具有事务,回滚,并发控制)
      1. 行级锁,提高并发访问性能
      1. 支持外键,保证数据的完整性和正确性
    • 文件:xxx.ibd,InnoDB引擎的每张表都会对应一个表空间文件,存储该表的表结构(frm、sdi)、数据和索引,参数:innodb_file_per_table
    -- 查看参数是否开启
    SHOW VARIABLES LIKE 'innodb_file_per_table';
    
    # 查看idb文件
    idb2sdi xxx.ibd
    
  • 逻辑存储结构
    在这里插入图片描述

2.5、存储引擎-MyISAM

  • 介绍:MyISAM是MySQL早期的默认存储引擎
  • 特点:
      1. 不支持事务,不支持外键
      1. 支持表锁,不支持行锁
      1. 访问速度快
    • 文件:
      • xxx.sdi:存储表结构信息
      • xxx.MYD:存储数据
      • xxx.MYI:存储索引

2.6、存储引擎-Memory

  • 介绍:Memory引擎的表数据是存储在内存中的,因此速度快,但是不安全,一旦MySQL服务关闭,所有的数据都会丢失
  • 特点:
      1. 存储内容全部放在内存中,速度快
      1. hash索引(默认)
    • 文件:
      • xxx.sdi:存储表结构信息

2.7、存储引擎的选择(常用还是InnoDB)

  • InnoDB:是MySQL的默认引擎,支持事务、外键,如果应用对事务的完整性有比较高的要求,在并发条件下要求数据的一致性,数据操作除了插入和查询之外,还包含很多的更新、删除操作,那么InnoDB是最好的选择。
  • MyISAM: 如果应用是以读操作和插入操作为主,只有很少的更新和删除操作,并且对事务的完整性、并发性要求不高,那么选择MyISAM是非常合适的。NoSQL数据库替代
  • MEMORY: 将所有数据保存在内存中,速度快,通常用于临时表及缓存、MEMORY的缺陷就是对于表的大小有限制,太大的表无法缓存在内存中,而且如果mysqld服务关闭了,那么所有的数据都会丢失。Redis替代

三、总结:

3.1、MySQL的事务与Redis的事务比较

MySQLRedis
事务支持支持(默认开启)支持(需手动控制)
回滚事务支持不支持
ACID支持支持

3.2、MySQL的存储引擎比较

在这里插入图片描述

http://www.dtcms.com/a/463237.html

相关文章:

  • 威宁做网站门户网站管理建设
  • 第五篇案例展示
  • 衣服网站建设方案书宽屏网站js
  • 南昌网站建设如何吉林省吉林市有几个区
  • 网站搭建入门商城站到商城汽车站
  • 上海建设网站的网站wordpress支付宝免签约
  • 打开这个网站rdm响应式网站开发
  • 猪八戒里面做网站骗子很多柳州关键词优化网站
  • 电子商务实网站的建设课件网站开发毕设结论
  • 电商网站页面设计windows中建wordpress
  • 天津重型网站建设推荐外贸信息发布平台
  • 对于消失的数字以及右旋字符数组的题目解析
  • 魏县网站制作html怎么发布网页
  • PPT太丑?用InDesign制作电影级的交互式在线演示文档
  • 利用Blenderprc制作bin-picking 工业小零件数据集
  • 新建网站怎么做c 购物网站开发流程
  • 品牌建设青之见网站推广和优化的原因网络营销
  • 网站你了解的怎样把自己做的网站放到网上
  • 定制网络监控方案优化设计答案六年级
  • 泸州建设厅官方网站塑模毕业设计代做网站
  • 合肥学网站设计人力招聘网站建设
  • MySQL中,IS NULL和IS NOT NULL不会走索引?错!
  • 云网站注册怎么做网站文章
  • 用织梦做网站后面可以改吗网站建设需要购买服务器么
  • 手机做网站软件wix和wordpress哪个好
  • C++ const 用法全面总结与深度解析
  • 哪块行业需要网站建设自己装修怎么出设计图
  • 网站建设流程讯息中国舆情网官网
  • 西安网站建设和推广公司做会计要关注什么网站
  • 律师做推广宣传的网站开发工具的种类及使用方法