zoukankan      html  css  js  c++  java
  • mysql数据库表索引

    一:为什么需要索引

    为了查询速度变快

    二:索引底层是用什么数据结构实现的?

    索引就是排好序数据结构

    select * from table where Clo2=23

    没有索引的表,mysql的查找流程是逐行比对,直到找到Clo2=23返回数据,或者全部扫描完没有找到,返回空

    查到结果需要扫描7次

    1. 二叉树

    假设Col2是一个数据结构

    二叉搜索树

     同样按照上面的查找语句,只需要扫描4次

    自平衡二叉查找树

     需要扫描3次

    假如把col1的字段用儿叉搜索树存储

    对于连续递增的字段,如果索引结构是二叉树,其实要找到7也是相当于便利整个表,效率很低

    2. 红黑树

    解决了连续递增的字段,查找7,扫描4次

    3. b树

    节点可以存储多个数,找到7需要扫描3次。

    如果我的横向节点存放的数上限是7(其实就只能放置6个)的话,扫描到7需要2次。

    4. b+树

    # TODO

  • 相关阅读:
    php-基于面向对象的MySQL类
    php-迭代创建级联目录
    php-删除非空目录
    php-递归创建级联目录
    linux 用户管理
    mysql 语法大全
    dos命令下修改mysql密码的方法
    对 linux init.d的理解
    linux 重启服务器命令
    校验软件包
  • 原文地址:https://www.cnblogs.com/meloncodezhang/p/13308953.html
Copyright © 2011-2022 走看看