zoukankan      html  css  js  c++  java
  • MySql高级

    1.学习计划    数据结构在线演示http://www.cs.usfca.edu/~galles/visualization/Algorithms.html

    序号 基础 SQL优化 系统优化 实战
    1 索引 体系结构 应用优化 MYSQL常用工具
    2 视图 存储引擎 查询缓存优化 MYSQL日志
    3 存储过程和函数 优化SQL步骤 内存管理优化 MYSQL主从复制 
    4 触发器 索引使用&SQL优化 锁&常用技巧 案例

    2.索引

    2.1什么是索引  :索引是帮助mysql高效获取数据的数据结构

    2.2 索引结构:

    :常见索引类型

    • BTREE 索引 : 最常见的索引类型,大部分索引都支持 B 树索引。

    • HASH 索引:只有Memory引擎支持 , 使用场景简单 。

    • R-tree 索引(空间索引):空间索引是MyISAM引擎的一个特殊索引类型,主要用于地理空间数据类型,通常使用较少,不做特别介绍。

    • Full-text (全文索引) :全文索引也是MyISAM的一个特殊索引类型,主要用于全文索引,InnoDB从Mysql5.6版本开始支持全文索引

     2.2.1 BTree结构:多路平衡搜索树

     

    2.3 索引设计原则

    • 对查询频次较高,且数据量比较大的表建立索引。
    • 查询字段建立索引
    • 尽量使用唯一索引
    • 索引也需要维护,不是越多越好
    • 使用段紫椴索引

    3 视图

    它是一种虚拟表,就是一条select语句执行返回的结果集。

    创建视图

    create or replace view city_country_view 
    as 
    select t.*,c.country_name from country c , city t where c.country_id = t.country_id;

    4存储过程

    5触发器

    6 MySql体系结构

    • Connection Pool:连接池
    • 管理服务(集群、安全。。。)、数据库对象、解析器、优化、操作缓存层
    • 插件式存储引擎(非常多的存储引擎)
    • 文件系统(数据、索引信息、二进制信息、查询日志等在磁盘中)

    6.2 数据库在磁盘存储结构

    Myisam

    • xxx.frm 表结构文件
    • xxx.myd  表数据
    • xxx.myi   索引数据文件

    Innodb

    • xxx.frm  表结构文件
    • xxx.ibd   数据+索引 文件

    7 存储引擎特性

     存储引擎是针对于表

    8 优化SQL步骤

    9 索引数据结构

    • 聚集索引:叶子节点包含所有数据字段
    • 非聚集索引:叶子节点索引和数据分开

    二叉树   红黑树(二叉平衡树) btree (多叉平衡树)

    联合索引,多列索引

    10MVVC

    • 版本链

    11 锁

    • 读锁:共享锁、Shared Locks、S锁
    • 写锁:排他锁、Exclusive Locks、X锁
    • select:不加锁

    12 Mysql读写分离

    磁盘存取原理

    用户进程->内核->驱动硬件程序->读取到内核空间->用户空间

    磁盘:寻道->旋转->预读(计算机预读一页大小是4K,因为可指定页数所以实际可以是4K*N);

    Innodb一页默认是计算机的4页即4k*4页(16K)

    二叉树   红黑树(二叉平衡树) btree (多叉平衡树)

    二叉树和红黑树约束都是左小右大(父节点左侧小,父节点右侧大),缺点都是在自增主键时深度很深。

  • 相关阅读:
    在ACCESS中LIKE的用法
    pip 在windows下的更新升级
    NAS、SAN、DAS 说明
    RAID 工作模式
    Linux mail 邮件发送
    Linux 邮件服务搭建
    HA 脑裂原理
    Tomcat 工作原理
    Nagios 工作原理
    Nginx 工作原理
  • 原文地址:https://www.cnblogs.com/sgrslimJ/p/13808919.html
Copyright © 2011-2022 走看看