服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Mysql - MySQL事务视图索引备份和恢复概念介绍

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

2022-11-07 16:39方片6 Mysql

这篇文章主要介绍了MySQL事务、视图、索引、备份和恢复,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

一、事务

事务(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语句创建视图

?
1
CREATE VIEW view_name AS <SELECT 语句>;

2、使用SQL语句查看视图

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

3、使用SQL语句删除视图

?
1
DROP VIEW [IF EXISTS] view_name;

使用视图的注意事项:

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

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

六、索引

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

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

作用:

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

改善数据库性能

MySQL索引按存储类型分类:

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

哈希索引

七、常见索引类型

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

八、管理索引

使用SQL语句创建索引

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

使用SQL语句删除视图

?
1
DROP INDEX index_name ON table_name;

九,创建索引的指导原则

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

频繁搜索的列

经常用作查询选择的列

经常排序、分组的列

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

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

仅包含几个不同值的列

表中仅包含几行

十,优化SQL语句的意识

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

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

原文链接:https://blog.csdn.net/weixin_55787308/article/details/126959488

延伸 · 阅读

精彩推荐
  • Mysqlmysql 事务解析

    mysql 事务解析

    这篇文章主要给大家分享的是mysql事务解析,事务(transaction)是业务逻辑的一个基本的单元组成,下面文章围绕mysql事务的相关资料展开详细内容,需要的朋友...

    my_journey10962022-01-10
  • Mysql安装mysql 5.7.20 解压版遇到的坑(推荐)

    安装mysql 5.7.20 解压版遇到的坑(推荐)

    最近有朋友说当mysql5.7.20解压版环境变量配置好后,根目录没有my.ini 也没有 my-default.ini文件,怎么处理这个问题呢,下面小编给大家带来了解决方案,大家...

    shamomanup2972020-08-19
  • Mysql几个常见的MySQL的可优化点归纳总结

    几个常见的MySQL的可优化点归纳总结

    这篇文章主要介绍了几个常见的MySQL的可优化点归纳总结,包括在编程时处理索引、分页以及数据类型时可用到的地方,需要的朋友可以参考下 ...

    MYSQL教程网5052020-05-04
  • Mysqlmysql 操作总结 INSERT和REPLACE

    mysql 操作总结 INSERT和REPLACE

    用于操作数据库的SQL一般分为两种,一种是查询语句,也就是我们所说的SELECT语句,另外一种就是更新语句,也叫做数据操作语句。 ...

    mysql教程网1902019-10-31
  • MysqlMySQL与PHP的基础与应用专题之创建数据库表

    MySQL与PHP的基础与应用专题之创建数据库表

    MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,本系列将带你掌握php与my...

    我是小白呀10392022-09-26
  • Mysqlmysql学习笔记之表的基本操作

    mysql学习笔记之表的基本操作

    本文给大家分享的是MySQL学习笔记系列文章的入门篇,主要讲述MySQL表的基本操作命令,非常详细,有需要的小伙伴可以来查看下...

    MYSQL教程网4602020-07-17
  • MysqlMySql二进制连接方式详解

    MySql二进制连接方式详解

    这篇文章主要介绍了MySql二进制连接方式详解的相关资料,需要的朋友可以参考下 ...

    small_1235992020-06-11
  • Mysqlmysql报错1033 Incorrect information in file: ‘xxx.frm’问题的解决方法

    mysql报错1033 Incorrect information in file: ‘xxx.frm’问题的解决方法

    这篇文章主要介绍了关于mysql报错1033 Incorrect information in file: 'xxx.frm'问题的解决方法,文中通过示例代码介绍的很详细,需要的朋友可以参考借鉴,下面来...

    叶雨梧桐4612020-07-19