数据库技术学习中遇到的重点与难点

简介: 记录一下数据库技术学习中遇到的重点与难点

一.事务四大特性
1.原子性:一起成功,一起失败,通过回滚日志实现
2.一致性:事务前后,数据保持一直,通过重做日志实现
3.隔离性:所有操作执行完以前其它会话不能看到过程,保证并行事务互不干扰,通过锁实现
4.持久性:一旦事务提交,对数据的改变就是永久的

二.数据库隔离级别
1.读未提交(脏、幻、不可重复度都会出现)
2.读提交(避免脏读,*Oracle默认级别)
3可重复读(避免不可重复读,*Mysql默认级别)
4.序列化(串行,最高级别!直接没并行了)

三.MYSQL的两种存储引擎区别
1.InnoDB支持事务,MyISAM不支持
2.InnoDB支持外键,MyISAM不支持
3.MyISAM适合查询和插入为主的应用,InnoDB适合频繁修改或安全性较高的应用
4.InnoDB不支持fulltext索引,MyISAM提供高速存储与检索,以及全文搜索的能力
5.InnoDB不保存表的行数,count全表比较慢
6.InnoDB支持行锁

四.B+索引和hash索引
1.hash:等值查询效率高,不能排序,不能进行范围查询
2.B+:数据有序,范围查询

五.索引的优缺点,什么时候使用索引
好处是提高查询速度,缺点是更新数据慢,所以要对数据频繁查询少更改时可以建立索引

六.索引的底层实现(B+树,为何不采用红黑树,B树)
索引以索引文件形式存储在磁盘,因为磁盘IO慢,所以索引的结构组织要尽量在查询过程中提高索引命中效率,减少磁盘IO的存取次数
1.红黑树:新增、删除时会频繁调整
2.B数:查询性能不稳定(有时候很快,很时候很慢)
3.B+树:查询性能稳定,更适合基于范围的查询

七.索引的最左匹配特性
联合索引,最左优先,在检索数据时从联合索引的最左面开始匹配

如联合索引a,b,c
where b='?' 不走索引
where b='?' and c='?' 不走索引
where a='?' 走索引
where a='?' and b='?' 走索引

八.索引失效条件
1.or作为连接条件,除非每个字段加索引
2.like,以%开头
3.内部函数计算
4.is null
等...

相关文章
|
1月前
|
数据库 索引
深入探索数据库索引技术:回表与索引下推解析
【10月更文挑战第15天】在数据库查询优化的领域中,回表和索引下推是两个核心概念,它们对于提高查询性能至关重要。本文将详细解释这两个术语,并探讨它们在数据库操作中的作用和影响。
53 3
|
1月前
|
数据库 索引
深入理解数据库索引技术:回表与索引下推详解
【10月更文挑战第23天】 在数据库查询性能优化中,索引的使用是提升查询效率的关键。然而,并非所有的索引都能直接加速查询。本文将深入探讨两个重要的数据库索引技术:回表和索引下推,解释它们的概念、工作原理以及对性能的影响。
72 3
|
2月前
|
存储 缓存 监控
数据库优化技术:提升性能与效率的关键策略
【10月更文挑战第15天】数据库优化技术:提升性能与效率的关键策略
93 8
|
2月前
|
存储 NoSQL 关系型数据库
数据库技术深度解析:从基础到进阶
【10月更文挑战第17天】数据库技术深度解析:从基础到进阶
98 0
|
1天前
|
存储 JSON NoSQL
学习 MongoDB:打开强大的数据库技术大门
MongoDB 是一个基于分布式文件存储的文档数据库,由 C++ 编写,旨在为 Web 应用提供可扩展的高性能数据存储解决方案。它与 MySQL 类似,但使用文档结构而非表结构。核心概念包括:数据库(Database)、集合(Collection)、文档(Document)和字段(Field)。MongoDB 使用 BSON 格式存储数据,支持多种数据类型,如字符串、整数、数组等,并通过二进制编码实现高效存储和传输。BSON 文档结构类似 JSON,但更紧凑,适合网络传输。
26 15
|
1月前
|
负载均衡 网络协议 数据库
选择适合自己的数据库多实例负载均衡技术
【10月更文挑战第23天】选择适合自己的数据库多实例负载均衡技术需要全面考虑多种因素。通过深入的分析和评估,结合自身的实际情况,能够做出明智的决策,为数据库系统的高效运行提供有力保障。
114 61
|
1月前
|
SQL Java 数据库连接
在Java应用中,数据库访问常成为性能瓶颈。连接池技术通过预建立并复用数据库连接,有效减少连接开销,提升访问效率
在Java应用中,数据库访问常成为性能瓶颈。连接池技术通过预建立并复用数据库连接,有效减少连接开销,提升访问效率。本文介绍了连接池的工作原理、优势及实现方法,并提供了HikariCP的示例代码。
53 3
|
1月前
|
缓存 负载均衡 监控
数据库多实例的负载均衡技术深入
【10月更文挑战第23天】数据库多实例负载均衡技术是确保数据库系统高效运行的重要手段。通过合理选择负载均衡策略、实时监控实例状态、不断优化调整,能够实现资源的最优分配和系统性能的提升。在实际应用中,需要根据具体情况灵活运用各种负载均衡技术,并结合其他相关技术,以满足不断变化的业务需求。
|
1月前
|
Java 数据库连接 数据库
优化之路:Java连接池技术助力数据库性能飞跃
在Java应用开发中,数据库操作常成为性能瓶颈。频繁的数据库连接建立和断开增加了系统开销,导致性能下降。本文通过问题解答形式,深入探讨Java连接池技术如何通过复用数据库连接,显著减少连接开销,提升系统性能。文章详细介绍了连接池的优势、选择标准、使用方法及优化策略,帮助开发者实现数据库性能的飞跃。
31 4
|
1月前
|
Java 数据库连接 数据库
深入探讨Java连接池技术如何通过复用数据库连接、减少连接建立和断开的开销,从而显著提升系统性能
在Java应用开发中,数据库操作常成为性能瓶颈。本文通过问题解答形式,深入探讨Java连接池技术如何通过复用数据库连接、减少连接建立和断开的开销,从而显著提升系统性能。文章介绍了连接池的优势、选择和使用方法,以及优化配置的技巧。
39 1
下一篇
DataWorks