zoukankan      html  css  js  c++  java
  • 事务和视图

    1.事务

             事务:是指将一系列数据操作捆绑成为一个整体进行统一管理。

           事务是作为单个逻辑工作单元执行的一系列操作。一个逻辑工作单元必须有四个属性,即原子性(Atomicity),一致性(Consistency),隔离性(lsolation),持久性(Durability),这些特征通常简称ACID。

    原子性:事务是一个完整的操作。事务的各元素是不可分的(原子的)。事务中的所有元素必须作为一个整体提交或回滚。如果事务中的任何元素失败,则整个事务将失败。

    一致性:当事务完成时,数据必须处于一致性。也就是说,在事务开始之前,数据库中存储的数据处于一致状态。在进行事务中,数据可能处于不一致性的状态,如数据可能被修改,然而当事务成功完成时,数据必须再次回到已知的一致状态。通过事务对数据所修改不能损坏数据,或者说事务不能使用数据存储处于不稳定的状态。

    隔离性:隔离性意味着事务必须在不干扰其他进程或事务的前提下独立执行。换言之,在事务或工作单元执行完毕之前,其所访问的数据不能受系统其他部分的影响。

     持久性表示在某个事务的执行过程中,对数据所作的所有改动都必须在事务成功结束前保存至某种物理存储设备。这样可以保证,所作的修改在任何系统瘫痪时不至于丢失。

    设置自动提交关闭或开启

    Set autocommit=0;

    值为0:关闭自动提交

    值为1:开启自动提交

    2.视图

    视图:是指计算机数据库中的视图,是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。

    视图对用户的好处:

    1. 结果更容易理解。
    2. 获取数据更容易。

    视图对开发人员的好处:

    1. 限制数据检索更容易。
    2. 维护应用程序更方便。

    创建视图:

    Create view 视图名

    As

    <select 语句>

    视图的注意事项:

    1. 每个视图中可以使用多个表。
    2. 与查询相似,一个视图可以嵌套另一个视图,但最好不要超过三层。
    3. 对视图数据进行添加,更新和删除操作直接引用表中的数据。
    4. 当视图数据来自多个表事,不允许添加和删除数据。

    索引分类

    1.  普通索引(由关键字KEY或INDEX定义的索引)的唯一任务是加快对数据的访问速度。因此,应该只为那些最经常出现在查询条件(WHERE column = ...)或排序条件(ORDER BY column)中的数据列创建索引。只要有可能,就应该选择一个数据最整齐、最紧凑的数据列(如一个整数类型的数据列)来创建索引。

    2.  唯一索引的目的往往不是为了提高访问速度,而只是为了避免数据出现重复。

    3.  为主键字段创建一个索引,这个索引就是所谓的"主索引"。主索引与唯一索引的唯一区别是:前者在定义时使用的关键字是PRIMARY而不是UNIQUE。

    4.  全文索引,可以用SELECT查询命令去检索那些包含着一个或多个数据记录。

    5.  用户可以在多个列上建立索引,这种索引叫做复合索引(组合索引)。复合索引的创建方法与创建单一索引的方法完全一样。但复合索引在数据库操作期间所需的开销更小,可以代替多个单一索引。当表的行数远远大于索引键的数目时,使用这种方式可以明显加快表的查询速度。

  • 相关阅读:
    MYSQL常用DDL
    MYSQL字符串与数字比较出现的异常
    目 录
    动态规划
    初级排序和高级排序
    ACMer计划2(非原创)
    1、常用C++STL集合
    1.2常见C++STL 映射表
    「CEOI2021」 Newspapers 题解 翻译
    Border Theory 学习笔记
  • 原文地址:https://www.cnblogs.com/yangzhiA/p/7601093.html
Copyright © 2011-2022 走看看