zoukankan      html  css  js  c++  java
  • mysql之视图,触发器,存储过程,事物,函数

    视图

    视图:是一个虚拟表(非真实存在),其本质是【根据SQL语句获取动态的数据集,并为其命名】,用户使用时只需使用【名称】即可获取结果集,可以将该结果集当做表来使用。

    语法:CREATE VIEW 视图名称 AS SQL语句

    强调1、在硬盘中,视图只有表结构文件,没有表数据文件

    2、视图通常是用于插叙,尽量不要修改视图中的数据

    触发器

    触发器:是使用触发器可以定制用户对表进行【增、删、改】操作时前后的行为,注意:没有查询

    事务

    事务:是用于将某些操作的多个SQL操作,一旦有某一个出现错误,即可回滚到原来的状态,从而保证数据库数据完整性。其中的多个sql语句称之为事务的原子性

     

    存储过程

    存储过程:是包含了一系列可执行的sql语句,存储过程存放于MySQL中,通过调用它的名字可以执行其内部的一堆sql

    优点:

    1. 用于替代程序写的SQL语句,实现程序与sql解耦

    2. 基于网络传输,传别名的数据量小,而直接传sql数据量大

    缺点:程序员扩展功能不方便

    程序与数据库结合使用的三种方式:

     

    方式一:MySQL:存储过程程序:调用存储过程

     

    方式二:MySQL:无   程序:纯SQL语句

     

    方式三:MySQL:无    程序:类和对象,即ORM(本质还是纯SQL语句)

    索引原理与慢查询优化

    01 为什么要用索引
    对于一个应用来说,对数据库的读写比例基本上是10:1,即读多写少
    而且对于写来说极少出现性能问题,大多数性能问题都是慢查询
    提到加速查,就必须用到索引
    02 什么是索引
    索引就相当于书的目录,是mysql中一种专门的数据结构,称为key,
    索引的本质原理就是通过不断地缩小查询范围,来降低io次数从而提升查询性能
    强调:一旦为表创建了索引,以后的查询都会先查索引,再根据索引定位的结果去找数据
    03 索引的影响
    1、在表中有大量数据的前提下,创建索引速度会很慢,
    2、在索引创建完毕后,对表的查询性能会大幅度提升,但是写性能会降低
    04 聚集索引(primary key)
    特点:叶子节点存放的一整条数据
    05 辅助索引(unique,index)
    特点:
    如果是按照这个字段创建的索引,
    那么叶子节点存放的是:{名字:名字所在那条记录的主键的值}
    覆盖索引:只在辅助索引的叶子节点中就已经找到了所有我们想要的数据
    select name from user where name='egon';  
    select age from user where name='egon';

     

  • 相关阅读:
    在CI框架中的配置整合amfphp
    php操作memcache的使用【转】
    notepad++ 快捷键大全
    utf8_general_ci和utf8_unicode_ci的比较
    50个必备的实用jQuery代码段
    强制浏览器下载PDF文件
    Ajax不能接受php return值的原因
    Proftpd mysql认证配置文档
    CI公用模型
    sublime 相关配置和快捷键
  • 原文地址:https://www.cnblogs.com/tianyu529/p/9037876.html
Copyright © 2011-2022 走看看