zoukankan      html  css  js  c++  java
  • sql事务、视图和索引

    一、事务:
       1.概念:是单个逻辑单元执行的一系列操作(一个事务中有多个sql语句),这个操作作为一个整体一起提交,要么执行,要么都不执行,多个事务操作是一个不可分割的逻辑单元。
       2.事务的特性:
         (1)原子性(A):一个事务中的所有的操作不可再分割,保持原子性,他们要么都执行,要么都不执行。
         (2)一致性(C):数据保持一致
         (3)隔离性(I):并发事务(多个事务)之间相互独立、隔离
         (4)永久性(D):事务完成之后,数据永久有效
       3.事务的使用:
          (1)开始事务 begin transaction(将一个业务的操作包含在开始事务中)
          (2)提交事务 commit transaction(如果所有的事务都没有错误,提交事务)
          (3)回滚事务 rollback transaction(如果有一个错误的话,回滚事务)
       4.事务分类:
          (1)显示事务:用begin transaction 开始的事务,最常用的
          (2)隐士事务:打开隐士事务之后,系统自动控制事务
          (3)自动提交事务,用于单条sql语句中
    二、视图
       1.概念:是一个虚拟表,包含单个表的部分数据或多个表的总和数据组成的虚表,他的结构和数据是基于对数据表的查询基础上。
        注:(1)视图不存储数据,实际数据存储在数据表中
            (2)一个数据库表可以创建多个视图
       2.视图的作用:
            (1)筛选数据行
            (2)保护敏感数据
            (3)降低数据库的复杂度
            (4)将多个物理数据库抽象为一个逻辑数据库
       3.创建视图的注意事项:
            (1)select 语句不能包含order by
            (2)不能有into
            (3)不引用临时表或表变量
      4.创建视图:
           create view 视图名 as select 语句
      5.删除视图: drop view 视图名
    三、索引
       1.索引的概念:数据库中编排数据的内部方法
       2.索引页的概念:数据库存放索引数据的一种方式
       3.作用:提高数据库的检索速度,改善数据的性能  
       4.分类:
         (1)唯一索引:不允许有重复的行数据,不允许为null
         (2)主键索引:特殊的唯一索引,不允许有null
         (3)聚集索引:索引顺序和数据物理存放顺序一致
         (4)非聚集索引:索引顺序和物理存放顺序不一致
       5.创建索引的原则:
         (1)在频繁搜索的列上
         (2)经常查询的列
         (3)经常排序和分组的列
         (4)进行连接的列(主键和外键)
         (5)在小字节的列上
       6.不推荐创建索引:
         (1)只有少量几个值得列上
         (2)只有几行数据的表上
         (3)在大字段上
       7.使用索引的注意事项:
         (1)查询中尽量不要用*
         (2)where后有多个条件的时候,有索引的放在前面
         (3)order by后尽量不要用表达式
         (4)定期的对索引页进行碎片整理
       8.创建和删除索引
         create index 索引名 on 表名(列名)
          drop index 表名.索引名
  • 相关阅读:
    &与&&的区别
    jsp之response方法
    一个数组先按照某个属性的大小排序,如果大小一样的就按照名称排序
    CSS内部div设置上min-height或max-height滚动条就会出现在父元素上
    300行代码手写简单vue.js,彻底弄懂MVVM底层原理
    JavaScript简单手写观察者模式
    javascript中replace还可以这样玩
    VUE中通过改变key去更新局部dom
    element中select的change方法如何传多个参数
    react打包中不想要sourceMap,但是在命令里加'GENERATE_SOURCEMAP=false'后windows下报错'GENERATE_SOURCEMAP' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
  • 原文地址:https://www.cnblogs.com/a1111/p/12816633.html
Copyright © 2011-2022 走看看