美文网首页
关系型数据库(索引与锁)

关系型数据库(索引与锁)

作者: 磊_5d71 | 来源:发表于2019-01-03 07:18 被阅读0次

设计一个关系型数据库

图片.png

索引模块

  • 为什么要使用索引
    查询时间复杂度从O(n)提升到O(logn)


    图片.png

    存在以下弊端,并且会多次io,影响速度。


    图片.png

采用B Tree

  • B tree(多路搜索树,并不是二叉的)是一种常见的数据结构。使用B-tree结构可以显著减少定位记录时所经历的中间过程,从而加快存取速度。按照翻译,B 通常认为是Balance的简称。这个数据结构一般用于数据库的索引,综合效率较高。


    图片.png
    图片.png
  • 蓝色的关键字的个数永远比黄色的孩子个数少一个

B+ Tree

图片.png

优势:
1、B+ 树磁盘读写代价更低(叶子结点有多个值, 不用频繁io读取)
2、B+ 树查询效率更加稳定(从根节点到叶子节点长度固定,时间复杂度o(log n))
3、B+ 树叶子节点有指针链接,更有利于对数据库的扫描

Hash索引

图片.png

BitMap索引

图片.png
  • 主流是B+树还有哈希索引 bitmap位图索引(锁的问题需要考虑)
  • oracle支持

密集索引与稀疏索引

区别
1、密集索引文件中每个搜索码值都对应一个索引值
2、稀疏索引只为索引码的某些值建立索引项


图片.png

如何定位并优化慢查询sql

1、根据慢日志定位慢查询sql
2、使用explain等工具分析sql
3、修改sql或者尽量让sql走索引
mysql
show variables like '%quer%';


图片.png

show status like '%slow_queries%';
set global slow_query_log = on;
set global long_query_time = '1';
使用explain select name from person order by name desc;
force index 强制使用某种索引


图片.png

联合索引最左匹配原则

图片.png

锁模块

  • MyISAM默认用的是表级锁,不支持行级锁 (锁整张表,相当于不能并发执行,读锁没有执行完毕,不能进行写锁操作)
  • InnoDB默认用的是行级锁,也支持表级锁
    mysql默认自动提交事务
    for update 或者增删改排他锁(写锁)
    查询 共享锁(读锁)


    图片.png
    图片.png
    图片.png
    图片.png
图片.png

相关文章

  • 关系型数据库(索引与锁)

    设计一个关系型数据库 索引模块 为什么要使用索引查询时间复杂度从O(n)提升到O(logn)图片.png存在以下弊...

  • ElasticSearch之倒排索引查询

    关系型数据库: 数据库====>表====>行====>列 ElasticSearch: 索引====>类型===...

  • HIVE表索引,分区和分桶的区别

    1.索引    Hive支持索引,但是Hive的索引与关系型数据库中的索引并不相同,比如,Hive不支持主键或者外...

  • 索引

    0.聚集索引与非聚集索引 索引是关系型数据库中给数据库表中一列或多列的值排序后的存储结构,SQL的主流索引结构有B...

  • 云计算 | AWS | SimpleDB 与 RDS

    非关系型数据库:SimpleDB 关系型数据库:RDS 1. 非关系型数据库与传统关系型数据库的比较 2. Sim...

  • 数据库入门之3张表对比关系型与非关系型数据库

    数据库入门之3张表对比关系型与非关系型数据库 本期使用3张表将关系型与非关系型数据库进行比对,让大家了解主流数据库...

  • MySQL05

    数据库高级对象,锁,权限管理 视图 索引 触发器 存储过程 悲观锁与乐观锁 行级锁、表级锁、页锁 数据库权限管理 ...

  • elasticsearch基本操作

    名词解释 索引:类似RDMS的数据库类型:类似于关系型数据库中的表文档:类似于关系型数据库中的一行字段:类似于关系...

  • ES中一些名词

    索引(名词): 如前所述,一个索引类似于传统关系数据库中的一个数据库,是一个存储关系型文档的地方。索引(index...

  • SpringCloud_Eureka与Zookeeper对比

    关系型数据库与非关系型数据库及其特性: RDBMS(Relational Database Management ...

网友评论

      本文标题:关系型数据库(索引与锁)

      本文链接:https://www.haomeiwen.com/subject/ymeglqtx.html