MySQL启程学习回忆录3

版权声明:本文为博博原创文章,未经博博允许不得转载。 https://blog.csdn.net/u013523377/article/details/71157043

一、存储过程

1. 简介

存错过程四 SQL 语句和控制语句的预编译集合,以一个名称存储并作为一个单元处理(对数据的同一个操作仅在第一次产生编译)。以下为存储过程的优点:

  • 增强 SQL 语句的宫娥能和灵活性
  • 实现较快的执行速度
  • 减少网络流量

2. 语法

操作 描述
创建 CREATE [DEFINER = {user/CURRENT_USER}] PROCEDURE sp_name ([proc_paramter[,…]]) [characteristic …] routine_body;

proc_parameter(参数说明):
[IN]参数需在调用时指定
[OUT]存储过程参数可被改变并返回
[INOUT]调用时指定,存储过程参数可被改变并返回

characteristic(特性):
COMMENT:注释
CONTAINS SQL:包含 SQL 语句,但不包含读或写数据的语句
NO SQL:不包含 SQL 语句
EREADS SQL DATA:包含读数据的语句
MODIFIES SQL DATA:包含写数据的语句
SQL SECURITY {DEFINER/INVOKER} 指明谁有权限来执行

routine_body(过程体):
Ⅰ. 合法 SQL 语句构成,包括任意增删改查,多表连接的操作语句
Ⅱ. 复合结构 BEGIN…END,包含声明/循环/控制结构

3. 变量

类型 描述
局部变量 声明与 BEGIN…END 之间的变量
用户变量 以‘@’符号开头的变量

二、存储引擎

1. 简介

MySQL 可以将数据以不同的技术存储在文件(内存)中,这种技术被成为存储引擎;每一种存储引擎使用不同ing的存储机机制、索引技巧、锁定水平,最终提供广泛且不同的功能。以下为 MySQL 常用的存储引擎:

引擎 描述
MyISAM
InnoDB
Memory
CSV
Archive

2. 相关知识点

2.1 并发控制

当多个连接对记录进行修改时保证数据的一致性和完整性

相关提及 描述
[共享锁] 多处读取同一个资源,且读取过程数据不会发生任何变化
[排他锁]当且仅有一个用户能写入资源,写入时将阻塞其他读写操作
锁颗粒/单位 [表锁] 最小开销
[行锁] 最大开销

2.2 事务

事务用于保证数据库的完整性

  • 原子性(Atomicity)
  • 一致性(Consistency)
  • 隔离性(Isolation)
  • 持久性(Durability)

2.3 外键

保证数据一致性的策略

2.4 索引

对数据表中一列或多列的值进行排序的一致结构

  • 普通索引
  • 唯一索引
  • 全文索引
  • btree 索引
  • hash 索引

3. 特点

特点 MySISAM InnoDB Memory Archive
存储限制 256TB 64TB 内存大小为上限
事务安全 - 支持 - -
支持索引 支持 支持 支持
锁颗粒 表锁 行锁 表锁 行锁
数据压缩 支持 - - 支持
支持外键 - 支持 - -

4. 修改设置引擎

  • 配置文件实现修改
    • default-storage-engine = engine
  • 数据表命令实现修改
    • CREATE TABLE tbl_name(…) ENGINE = engine;
  • 数据表命令实现修改
    • ALTER TABLE tbl_name ENGINE [=] engine_name;

MySQL启程学习回忆录1
MySQL启程学习回忆录2
MySQL启程学习回忆录3


感谢慕课平台

猜你喜欢

转载自blog.csdn.net/u013523377/article/details/71157043
今日推荐