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 视图名称; # 删除视图

  • 相关阅读:
    python测试开发django-1.开始hello world!
    python基础--杂项
    Python基础----函数
    python介绍
    公共Webservice
    divmod(a,b)函数
    模块知识
    第三周作业 修改配置文件
    rsync在windows和linux同步数据的配置过程
    docker学习笔记
  • 原文地址:https://www.cnblogs.com/kogmaw/p/12405840.html
Copyright © 2011-2022 走看看