zoukankan      html  css  js  c++  java
  • 第十三节 MySQL事务以及索引、视图


    事务的概念:是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的一个工作单位
    事务的四大特性:ACID
    A:原子性,一个事务必须被视为一个不可分割的最小工作单元,整个事务中的所有操作要么全部提交成功,要么全部失败回滚,对于一个事务来说,不可能只执行其中的一部分操作,这就是事务的原子性

    C:一致性、数据库总是从一个一致性的状态转换到另一个一致性的状态。

    I:隔离性、通常来说,一个事务所做的修改在最终提交以前,对其他事务是不可见的

    D:持久性、一旦事务提交成功,则其做的修改就会永久的保存到数据库

    事务开启
    begin;

    sql语句

    commit 或者 rollback 结尾

    索引的目的:提高查询效率、主键和外键都是索引的一种体现,但是建太多索引会影响更新和插入的速度,
    因为他需要同样更新每个索引文件,而且建立索引会占用磁盘空间

    set profiling=1; 开启运行时间检测

    show index table_name # 查看索引

    create index index_name on table_name(字段名称(长度)) #创建索引,字段名称(长度)表示创建表的时候给字段指定的varchar(10),如果是数字就不需要这个长度

    drop index index_name on table_name # 删除索引

    show profiles; # 查看执行时间

    视图:视图就是一条select语句执行的返回结果集,是对若干张基本表的引用,是一张虚表,不存储具体的数据,基本表数据发生改变,视图也会跟着改变

    视图的作用
    1、提高了重用性,相当于调用了函数,方便操作,特别是查询操作,减少复杂的sql语句,增强可读性,
    2、用于数据库重构时候不用修改python里的sql语句,不可以修改视图里的数据
    3、通过过滤数据,提高了安全性能,可以对不同的用户展示不同的数据
    4、让数据更清晰


    create view 视图名称 as select语句; # 创建视图

    例:
    create view v_goods_info as select g.*,c.name as cate_name,b.name as brand_name from tdb_goods as g left join goods_cate as c on g.cate_id=c.id left join brand_name as b on g.brand_id =b.id


    show tables; # 查看视图

    select * from v_goods_info ; # 使用视图

    drop view 视图名称; # 删除视图

  • 相关阅读:
    jQuery Ajax同步参数导致浏览器假死怎么办
    自顶而下系统构架分析
    IEnumerable,IQueryable之前世今生
    C#执行存储过程
    JQuery iframe
    跨服务器插入查询数据
    使用游标、存储过程、pivot 三种方法导入数据
    分库分表的面试题3
    分库分表的面试题2
    分库分表的面试题1
  • 原文地址:https://www.cnblogs.com/kogmaw/p/12405840.html
Copyright © 2011-2022 走看看