zoukankan      html  css  js  c++  java
  • MySQL(七) —— MySQL存储过程 & 存储引擎

    MySQL中输入语句的执行过程:

    如果我们可以将上面的过程简化,吧语法分析或者编译等步骤简化,则可以将整个流程简化。

    存储过程:

    • 是SQL语句和控制语句的预编译集合,以一个名称存储并作为一个单元处理;
    • 增强SQL语句的功能和灵活性;
    • 实现较快的执行速度;
    • 减少网络流量
    • //创建存储过程
      CREATE 
      [DEFINER = {user | CURRENT_USER}]
      PROCEDURE sp_name ([proc_parameter[,...]])
      [characteristic ...] routine_body
      
      proc_parameter:
      [IN | OUT | INOUT ] param_name type
      //IN,表示该参数的值必须在调用存储过程时指定
      //OUT,表示该参数的值可以被存储过程改变,并且可以返回
      //INOUT,表示该参数的调用时指定,并且可以被改变和返回
      //调用存储过程
      CALL sp_name([parameter[,...]])
      CALL sp_name[()]
    • //For example:
      CREATE PROCEDURE sp1() SELECT VERSION();
      
      CALL sp1();
      //For example:
      DELIMITER //
      CREATE PROCEDURE removeUserById(IN p_id INT UNSIGNED)
      BEGIN
      DELETE FROM test WHERE id = p_id;
      END
      //
      
      DELIMITER ;
      CALL removeUserById(3);
    • 用@修饰的变量叫做用户变量,跟当前用户的客户端是绑定的。
    • 存储过程较常用,一般独立的来执行,而函数可以作为其他SQL语句的组成部分来出现;
    • 注意事项:
      • 创建存储过程或者自定义函数时需要通过delimiter语句修改定界符;
      • 如果函数体或过程提有多个语句,需要包含在BEGIN...END语句块中;
      • 存储过程需要使用call来调用。

     存储引擎:

    MySQL可以将数据以不同技术存储在文件(内存)中,这种技术就成为存储引擎;

    每一种存储引擎使用不同的存储机制、索引技巧、锁定水平,最终提供广泛且不同的功能。

    MySQL主要包括五种存储引擎:MyISAM, InnoDB, Memory, CSV, Archive;

    • 并发控制:当多个连接对记录进行修改时保证数据的一致性和完整性;
      • 共享锁(读锁):在同一个时间段内,多个用户可以读取同一个资源,读取过程中数据不会发生任何变化。
      • 排它锁(写锁):在任何时候只能有一个用户写入资源,当进行写锁时会阻塞其他的读锁或者写锁操作。
      • 锁颗粒:
        • 表锁,是一种开销最小的锁策略;
        • 行锁,是一种开销最大的锁策略。
    •  事务
      • 事务用于保证数据库的完整性
      • 事物的特性(ACID):原子性(Atomicity)一致性(Consistency)隔离性(Isolation)持久性(Durability)
    • 索引
      • 是对数据表中一列或多列的值进行排序的一种结构。

     

  • 相关阅读:
    js判断用户是否在浏览当前页面
    js不改变原对象情况下复制对象object
    js实现jquery中的addClass,removeClass,hasClass方法
    npm install总结 (--savenpm install --save与npm install --save-dev区别及其他相关)
    通过正则实时监听检查input输入,实时反应,不符合不能输入的功能详解
    IE8常见兼容问题及解决方法总结
    javascript中十六进制和ASCII码互相转换
    vue2.0中watch总结:普通监听和深度监听
    js对象数组操作之一:对象数组中对象去重的方法总结
    webpack4配置详细过程及采坑
  • 原文地址:https://www.cnblogs.com/little-YTMM/p/5431189.html
Copyright © 2011-2022 走看看