zoukankan      html  css  js  c++  java
  • 说说mysql的存储引擎,有什么区别?索引的介绍

    InnoDB 支持ACID事务,支持事务的四种隔离级别,串行化,可重复读,读已提交,读未提交。

    支持行级锁以及外检约束:所以可以支持写并发。

    不存储总行数。

    逐渐索引采用聚集索引,索引的数据域存储数据文件本身。

     

    关键是用索引

    添加适当的索引,可以简化查询,将查询转变为 排好序的快速查询数据结构

    在数据库中,除了数据之外,还存在着一种数据结构,这种数据结构以某种方式引用或者叫做指向数据,这样可以在这些数据结构上实现高级查找算法,这样的数据结构就算索引,可以理解为字典的目录。

    但是一般来说,索引本身也会很大,是不可能全部存储在内存中的,所以索引通常是以索引文件的方式存在磁盘上,我们平时说的索引,时指B树 BalanceTree多路平衡查找树。

    索引分为 单值索引,唯一索引,复合索引,通常用的时复合索引,像建立一张表一样,用create Index 索引名 on 表名(索引列,索引列),要删除用drop ,查看用show

    想要查看有没有用到索引的话,可以使用explain+sql语句,里面有10个字段,其中id字段就是看语句执行优先级的,数字越大说明优先级越高,相同的数字按照从上往下的顺序执行,type字段可以看到sql语句的优化程度,总共12个类型。System>const>eq_ref>ref>range>index>all,通常优化到ref  range就够了

     

    索引的优缺点:

    优点:

    1. 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性
    2. 大大加快数据的检索速度
    3. 加快表与表之间的连接
    4. 可以减少分组和排序的时间
    5. 使用优化隐藏器,提高系统性能

    缺点:

    1. 创建和维护索引需要时间,而且这种时间会随着数据量的增加而增加
    2. 索引需要占用物理空间
    3. 对表数据进行增删改的时候,索引也要动态的维护,降低了数据维护速度
  • 相关阅读:
    转载Dockerfile 中 RUN, CMD, ENTRYPOINT 的区别
    在linux上通过ssh使用github
    dns服务
    centos6 free 和 centos 7的free 的差异与对比
    无重复字符的最长子串
    go get命令在go mod目录下与正常目录执行的区别
    安装git
    转载 筛子算法之golang实现求素数解析
    Go语言基础之并发
    go之无缓冲channel(通道)和有缓冲channel(通道)
  • 原文地址:https://www.cnblogs.com/lingboweifu/p/11912832.html
Copyright © 2011-2022 走看看