索引
给字段加索引,后台就会给该字段建立一颗二叉树,进行二分查找以大大提高查找效率。
但是删除、插入、修改操作需要重新维护该二叉树,所以频繁进行这三个操作的表不是个建立索引
索引也会占用内存,即用空间换时间。
索引的创建
删除索引
事务
事务是用于保证数据一致性,它由一组相关的dml语句(增、删、改)组成,这组dml语句要么全部成功要么全部失败。来保证数据的一致性。
当执行事务操作时,mysql会在表上加锁,防止其他用户修改表的数据。
使用实例
关于提交事务的解释
事务相关细节
隔离机制
多个连接开启各自事务操作数据库中数据时,数据库系统要负责隔离操作,以保证各个链接在获取数据时的准确性。
脏读:事务A,B同时对数据库进行操作时,如果事务B在进行操作过程中能直接读取到事务A的操作,即使A并没有提交事务,此时称事务B产生了脏读。
不可重复读:如果事务B在进行操作过程中能直接读取事务A已经提交的修改或删除操作时,称事务B产生了不可重复读。
幻读:如果事务B在进行操作过程中能直接读取事务A已经提交的插入操作时,称事务B产生了幻读。
mysql存储引擎
主要介绍三种常用的存储引擎:
视图
视图可用于向用户展示部分字段。视图是一张虚拟表,其内容由查询定义。同真实的表一样,视图包含列,其数据来自对应的真实表(基表)。通过修改视图会影响基表,修改基表也会影响视图。
将视图授权给用户,用户操作视图就相当于操作基表的部分列。
视图也可创建视图、
视图基本操作
创建视图:create view 视图名 as select语句,其中select语句写了哪些字段视图就展示哪些字段
修改/重新定义视图结构:alter view 视图名 as select语句
修改视图数据:update 视图名 set ....where....
展示视图结构:desc 视图名。
展示如何创建的视图:show create view 视图名
删除视图:drop view 视图名1,视图名2
用户管理
Mysql用户全都存储在系统数据库mysql中的user表中