MySQL事务视图索引备份和恢复概念介绍

目录
  • 一、事务
  • 二、事务的特性
  • 三、MySQL事务处理
  • 四、视图
  • 五、管理视图
  • 六、索引
  • 七、常见索引类型
  • 八、管理索引
  • 九,创建索引的指导原则
  • 十,优化SQL语句的意识

一、事务

事务(TRANSACTION)是一种机制、一个操作序列,包含了一组数据库操作命令,并且把所有的命令作为一个整体一起向系统提交或撤销操作请求,即这一组数据库操作命令要么都执行,要么都不执行。

事务是一个不可分割的工作逻辑单元 。

二、事务的特性

事务必须具备以下四个属性,简称ACID 属性

原子性(Atomicity)

事务的各步操作是不可分的(原子的),要么都执行,要么都不执行

一致性(Consistency)

当事务完成时,数据必须处于一致状态

隔离性(Isolation)

并发事务之间彼此隔离、独立,它不应以任何方式依赖于或影响其他事务

持久性(Durability)

事务完成后,它对数据库的修改被永久保持

三、MySQL事务处理

MySQL中支持事务的存储引擎有InnoDB和BDB。

方法1:用 BEGIN, COMMIT,ROLLBACK来实现。

  • BEGIN ; #开始事务,显式地标记一个事务的起始点
  • COMMIT ; #提交事务,标志一个事务成功提交。
  • ROLLBACK; #回滚事务,清除自事务起始点至该语句所做的所有数据更新,将数据状态回滚到事务开始前,并释放由事务控制的资源。

方法2:直接用 SET 来改变 MySQL 的自动提交模式。

默认情况下,每条单独的SQL语句视为一个事务 关闭默认提交状态后,可手动开启、关闭事务

  • SET autocommit = 0|1;
  • 值为0:关闭自动提交
  • 值为1:开启自动提交

四、视图

视图是一张虚拟表,表示一张表的部分数据或多张表的综合数据。

其结构和数据是建立在对表的查询基础上

视图中不存放数据,数据存放在视图所引用的原始表中

一个原始表,根据不同用户的不同需求,可以创建不同的视图。

视图的用途:

筛选表中的行

防止未经许可的用户访问敏感数据

将多个物理数据库表抽象为一个逻辑数据库表

五、管理视图

1、使用SQL语句创建视图

CREATE VIEW view_name AS <SELECT 语句>;

2、使用SQL语句查看视图

SELECT 字段1, 字段2, …… FROM view_name;

3、使用SQL语句删除视图

DROP VIEW [IF EXISTS] view_name;

使用视图的注意事项:

  • 视图中可以使用多个表
  • 一个视图可以嵌套另一个视图
  • 对视图数据进行添加、更新和删除操作直接影响所引用表中的数据
  • 当视图数据来自多个表时,不允许添加和删除数据

使用视图修改数据会有许多限制,一般在实际开发中视图仅用作查询

六、索引

索引是一种有效组合数据的方式,为快速查找到指定记录。

作用:

大大提高数据库的检索速度

改善数据库性能

MySQL索引按存储类型分类:

B-树索引:InnoDB、MyISAM均支持

哈希索引

七、常见索引类型

八、管理索引

使用SQL语句创建索引

CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name
ON table_name (column_name[length]…);

使用SQL语句删除视图

DROP INDEX index_name ON table_name;

九,创建索引的指导原则

按照下列标准选择建立索引的列:

频繁搜索的列

经常用作查询选择的列

经常排序、分组的列

经常用作连接的列(主键/外键)

请不要使用下面的列创建索引:

仅包含几个不同值的列

表中仅包含几行

十,优化SQL语句的意识

  • 查询时减少使用*返回全部列,不要返回不需要的列;
  • 索引应该尽量小,在字节数小的列上建立索引;
  • WHERE子句中有多个条件表达式时,包含索引列的表达式应置于其他条件表达式之前;
  • 避免在ORDER BY子句中使用表达式。
  • 根据业务数据发生频率,定期重新生成或重新组织索引,进行碎片整理。

到此这篇关于MySQL事务视图索引备份和恢复概念介绍的文章就介绍到这了,更多相关MySQL事务管理内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • MySQL索引事务详细解析

    目录 一.索引 1.概念 2.作用 3.缺陷 4.使用场景 5.使用 1.查看索引 2.创建索引 3.删除索引 6.案例 二.事务 1.为什么使用事务 2.事务的概念 3.使用 4.特性 一.索引 1.概念 索引是一种特殊的文件,包含着对数据表里所有记录的引用指针,可以对表中的一列或者多列创建索引,并指定索引的类型,各类索引有各自的数据结构实现. (这里对于索引也只是简单了解,写了些皮毛) 更浅显易懂的来说:数据库的数据保存在硬盘,硬盘不知道具体保存在哪个位置,索引就是用来告诉硬盘数据在哪个位置

  • MySQL数据库的事务和索引详解

    目录 一.事务: 事务四大特性: 并发事务带来哪些问题?(隔离所导致的一些问题) 事务隔离级别有哪些? MySQL的默认隔离级别: 二.索引: 索引的作用: 索引的分类: 索引准则: 索引的数据结构: 总结 一.事务: 事务是逻辑上的一组操作,要么都成功,要么都失败! ---------------------------------- 1.SQL执行        A:1000元     -->转账200元        B:200元 2.SQL执行        A:800元       -

  • MySql 知识点之事务、索引、锁原理与用法解析

    本文实例讲述了MySql 知识点之事务.索引.锁原理与用法.分享给大家供大家参考,具体如下: 事务 事务概念 事务就是一组原子性的SQL查询,或者说一个独立的工作单元.如果数据库引擎执行一组操作语句,那么久执行所有的操作,如果其中有任何一条崩溃或其他原因无法执行,所有语句将不会执行.也就是说事务内的语句,要么全部执行成功,要么全部执行失败. 事务特性ACID 原子性(atomicity) 一个事务被视为最小工作单元,不可拆分,整个事务所有的操作要么全部提交成功,要么全部失败回滚,不可只执行部分.

  • MySQL索引与事务定义到使用详解

    目录 1.索引的本质 2.索引的使用 2.1查看索引 2.2创建索引 2.3删除索引 3.索引的数据结构 3.1B树 3.2B+树 4.事务 4.1事物的回滚(rollback) 4.2事务的四大特性(ACID) 4.2.1 原子性 4.2.2 一致性 4.2.3 持久性 4.2.4 隔离性 5.并发引起的问题 5.1 "读脏数据" 5.2 "不可重复读" 5.3 "幻读" 6.MySQL的隔离级别 6.1 read uncommitted 6.

  • Mysql数据库高级用法之视图、事务、索引、自连接、用户管理实例分析

    本文实例讲述了Mysql数据库高级用法之视图.事务.索引.自连接.用户管理.分享给大家供大家参考,具体如下: 视图 视图是对若干张基本表的引用,一张虚表,只查询语句执行结果的字段类型和约束,不存储具体的数据(基本表数据发生了改变,视图也会跟着改变),方便操作,特别是查询操作,减少复杂的SQL语句,增强可读性. 1.----创建视图: create view 视图名称(一般以v_开头) as 查询语句; 2.----查看视图: select * from 视图名称; 3.----删除视图: dro

  • MySql 索引、锁、事务知识点小结

    本文总结了MySql 索引.锁.事务知识点.分享给大家供大家参考,具体如下: 1. 索引 索引,类似书籍的目录,可以根据目录的某个页码立即找到对应的记录. 索引的优点: 天生排序. 快速查找. 索引的缺点: 占用空间. 降低更新表的速度. 注意点:小表使用全表扫描更快,中大表才使用索引.超级大表索引基本无效. 索引从实现上说,分成 2 种:聚集索引和辅助索引(也叫二级索引或者非聚集索引) 从功能上说,分为 6 种:普通索引,唯一索引,主键索引,复合索引,外键索引,全文索引. 详细说说 6 种索引

  • MySql索引和事务定义到使用全面涵盖

    目录 索引是什么 索引的使用场景 索引的常见操作 索引背后的数据结构 事务是什么 事务的基本特性 小结 索引是什么 索引是一种特殊的文件,包含着对数据表里所有记录的引用指针.可以对表中的一列或多列创建索引,并指定索引的类型,各类索引有各自的数据结构实现.索引就相当于一本书的目录,通过索引 可快速定位.检索数据.使用索引大大提高了查找效率,但同时索引也占用了更多的空间,拖慢了增删改的速度. 索引的使用场景 1.数据量较大,且经常对这些列进行条件查询. 2.该数据库表的插入操作,及对这些列的修改操作

  • MySQL 数据库 索引和事务

    目录 1. 索引 1.1 概念 1.2 作用 1.3 索引的原理 1.3.1 减少磁盘的访问次数是构建索引的核心思想 1.3.2 B+ 树适用实现索引的底层 1.4 适用场景 1.5 使用语句 1.5.1 查看索引 1.5.2 创建索引 1.5.3 删除索引 2. 事务 2.1 概念 2.2 为什么使用事务 2.3 四大属性 2.3.1 原子性 2.3.2 一致性 2.3.3 持久性 2.3.4 隔离性 2.4 使用方法 1. 索引 1.1 概念 索引是为了加速对表中数据行的检索而创建的一种分散

  • Mysql事务索引知识汇总

    目录 一.事务 1.事务特性 2.事务并发时出现的问题 二.索引 1.索引使用 2.索引类型 3.索引注意原则 三.SQL 1.SQL优点 2.SQL分类 3.SQL语法及关键字 四.数据库设计 1.数据库三大范式 2.数据库规范设计 一.事务 mysql事务是用于处理操作量大.复杂性高的数据 1. 事务特性 原子性:保证每个事务所有操作要么全部完成或全部不完成,不可能停滞在中间环节:如事务在执行过程中出现错误,则会回滚到一致性:事务开始结束后保证数据库的完整性没有被破坏,数据都是按照数据库要求

  • MySQL事务视图索引备份和恢复概念介绍

    目录 一.事务 二.事务的特性 三.MySQL事务处理 四.视图 五.管理视图 六.索引 七.常见索引类型 八.管理索引 九,创建索引的指导原则 十,优化SQL语句的意识 一.事务 事务(TRANSACTION)是一种机制.一个操作序列,包含了一组数据库操作命令,并且把所有的命令作为一个整体一起向系统提交或撤销操作请求,即这一组数据库操作命令要么都执行,要么都不执行. 事务是一个不可分割的工作逻辑单元 . 二.事务的特性 事务必须具备以下四个属性,简称ACID 属性 原子性(Atomicity)

  • MySQL 从全库备份中恢复指定的表和库示例

    MySQL 从备份数据库中恢复指定的表和库示例 在Mysqldump官方工具中,如何只恢复某个库呢? 全库备份 [root@HE1 ~]# mysqldump -uroot -p --single-transaction -A --master-data=2 >dump.sql 只还原erp库的内容 [root@HE1 ~]# mysql -uroot -pMANAGER erp --one-database <dump.sql 可以看出这里主要用到的参数是--one-database简写-o

  • Django中URL视图函数的一些高级概念介绍

    说到关于请求方法的分支,让我们来看一下可以用什么好的方法来实现它. 考虑这个 URLconf/view 设计: # urls.py from django.conf.urls.defaults import * from mysite import views urlpatterns = patterns('', # ... (r'^somepage/$', views.some_page), # ... ) # views.py from django.http import Http404,

  • Mysql二进制安装与备份的全过程记录

    目录 Mysql的二进制安装 Mysql的配置文件 备份与恢复 总结 Mysql的二进制安装 下载安装包 [root@localhost mysql]# wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.33-linux-glibc2.12-x86_64.tar.gz --2021-05-04 20:34:21-- https://downloads.mysql.com/archives/get/p/23/file

  • 深入理解mysql事务与存储引擎

    目录 一.MySQL事务 1.事务的概念 2.事务的 ACID 特点 3.事物之间的互相影响 二.Mysql及事务隔离级别 1.查询全局事务隔离级别 2.查询会话事务隔离级别 3.设置全局事务隔离级别 4.设置会话事务隔离级别 三.事务控制语句 1.相关语句 2.案例 3.使用 set 设置控制事务 四.MySQL 存储引擎 1.存储引擎概念介绍 2.查看系统支持的存储引擎 3.查看表使用的存储引擎 4.修改存储引擎 一.MySQL事务 1.事务的概念 (1)事务是一种机制.一个操作序列,包含了

  • MySQL系列之十 MySQL事务隔离实现并发控制

    目录 一.并发访问控制 二.事务Transactions 1.事务遵循ACID原则: 2.事务的生命周期 3.事务的隔离级别 4.死锁 一.并发访问控制 实现的并发访问的控制技术是基于锁: 锁分为表级锁和行级锁,MyISAM存储引擎不支持行级锁:InnoDB支持表级锁和行级锁: 锁的分类有读锁和写锁,读锁也被称为共享锁,加读锁的时候其他的人可以读:写锁也称为独占锁或排它锁,一个写锁会阻塞其他读操作和写操作: 锁还分为隐式锁和显式锁,隐式锁由存储引擎自行管理,显式锁是用户手动添加锁: 锁策略:在锁

  • MySQL字符串前缀索引使用

    目录 1. 前缀索引与全部索引概念 2. 前缀索引与全部索引数据结构 3. 前缀索引与全部索引引执行流程 4. 前缀索引长度如何取舍 5. 前缀索引对覆盖索引的影响 6. 其他解决方案 7. 梳理总结 1. 前缀索引与全部索引概念 怎么给字符串字段加索引?现在,几乎所有的系统都支持邮箱登录,如何在邮箱这样的字段上建立合理的索引,是我们今天要讨论的问题. 假设,你现在维护一个支持邮箱登录的系统,用户表是这么定义的 create table SUser( ID bigint unsigned pri

  • mysql事务隔离级别详情

    serializable 串行化(无问题) 事务必须以顺序的方式执行,前一个事务提交之前后面的事务无法进行提交,最安全,但是不能并发操作,导致效率低下. repeatab read 可重复读(默认隔离级别)(幻读) 在一个事务未提交之前,里面不论执行多少次查询,查询的结果都一样(即使这条记录被别的事务修改过)但是可能会出现幻读 read committed 读已提交(不可重复度,幻读) 在当前事务中别的事务提交的数据可以看到,那么可能会导致不可重复读(另一个线程提交数据后当前线程可以看到,然后就

  • MySQL的复合索引总结

    目录 1.背景 2.认识复合索引 3.最左匹配原则 4.字段顺序的影响 5.单字段是否可以触发索引? 7.复合索引可以替代单一索引吗? 1.背景 最近频繁出现慢SQL导致系统性能问题,于是决定针对索引进行一些优化.一些表结构本身已经有了不少索引,如果再继续添加索引,势必会影响到插入数据的性能.那么,是否可以使用组合索引来达到目的呢?这篇文章咱们来一探究竟. 2.认识复合索引 如果where条件中使用到多个字段,并且需要对多个字段建立索引,此时就可以考虑采用复合索引(组合索引).比如查询地址时需要

  • MySQL优化及索引解析

    索引简单介绍 索引的本质: MySQL索引或者说其他关系型数据库的索引的本质就只有一句话,以空间换时间. 索引的作用: 索引关系型数据库为了加速对表中行数据检索的(磁盘存储的)数据结构 索引的分类 数据结构上面的分类: HASH 索引 等值匹配效率高 不支持范围查找 树形索引 二叉树,递归二分查找法,左小右大 平衡二叉树,二叉树到平衡二叉树,主要原因是左旋右旋 缺点1,IO次数过多 缺点2,IO利用率不高,IO饱和度 多路平衡查找树(B-Tree) 特点,大大的减少了树的高度 B+树 特点,采用

随机推荐