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

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

一.事务四大特性
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
等...

相关文章
|
13天前
|
存储 安全 数据管理
新型数据库技术:基于区块链的分布式数据存储系统
传统数据库系统面临着中心化管理、数据安全性和可信度等方面的挑战。本文介绍了一种基于区块链技术的新型数据库系统,通过分布式存储和去中心化的特性,提高了数据的安全性和可信度,同时实现了高效的数据管理和共享。该系统在多个领域如金融、医疗和物联网等具有广阔的应用前景。
|
23天前
|
存储 分布式计算 大数据
HBase分布式数据库关键技术与实战:面试经验与必备知识点解析
【4月更文挑战第9天】本文深入剖析了HBase的核心技术,包括数据模型、分布式架构、访问模式和一致性保证,并探讨了其实战应用,如大规模数据存储、实时数据分析及与Hadoop、Spark集成。同时,分享了面试经验,对比了HBase与其他数据库的差异,提出了应对挑战的解决方案,展望了HBase的未来趋势。通过Java API代码示例,帮助读者巩固理解。全面了解和掌握HBase,能为面试和实际工作中的大数据处理提供坚实基础。
34 3
|
24天前
|
存储 中间件 关系型数据库
数据库切片大对决:ShardingSphere与Mycat技术解析
数据库切片大对决:ShardingSphere与Mycat技术解析
28 0
|
2月前
|
SQL 关系型数据库 MySQL
【MySQL技术专题】「问题实战系列」深入探索和分析MySQL数据库的数据备份和恢复实战开发指南(8.0版本升级篇)
【MySQL技术专题】「问题实战系列」深入探索和分析MySQL数据库的数据备份和恢复实战开发指南(8.0版本升级篇)
98 0
|
1月前
|
SQL 关系型数据库 MySQL
轻松入门MySQL:深入学习数据库表管理,创建、修改、约束、建议与性能优化(3)
轻松入门MySQL:深入学习数据库表管理,创建、修改、约束、建议与性能优化(3)
|
2月前
|
SQL 存储 关系型数据库
【MySQL技术专题】「实战开发系列」一同探索一下数据库的加解密函数开发实战指南之AES系列
【MySQL技术专题】「实战开发系列」一同探索一下数据库的加解密函数开发实战指南之AES系列
47 0
|
5天前
|
Cloud Native NoSQL 数据管理
现代化数据管理:面向未来的数据库技术发展
传统数据库技术已经不能满足当今大数据时代的需求,现代化数据库技术的发展成为了当务之急。本文将探讨面向未来的数据库技术发展方向,包括云原生数据库、图数据库、区块链技术在数据库领域的应用以及数据库安全性等方面。
|
6天前
|
Java 关系型数据库 MySQL
【JDBC编程】基于MySql的Java应用程序中访问数据库与交互数据的技术
【JDBC编程】基于MySql的Java应用程序中访问数据库与交互数据的技术
|
6天前
|
存储 安全 数据管理
新一代数据库技术:融合区块链与分布式存储的未来趋势
传统数据库技术在数据安全性和分布式处理方面存在局限,而新一代数据库技术正日益融合区块链和分布式存储,为数据管理带来革命性变革。本文探讨了这一趋势的发展方向,以及如何利用新技术实现更高效的数据管理与保护。
|
9天前
|
存储 安全 数据管理
新一代数据库技术:融合区块链的分布式存储系统
传统数据库技术在面对日益增长的数据量和复杂的数据管理需求时显现出局限性。本文介绍了一种新一代数据库技术:融合区块链的分布式存储系统。通过将区块链技术与传统数据库相结合,实现了数据的分布式存储、安全性和透明度,以及去中心化的特性。这一技术的应用将极大地推动数据库系统的发展,为数据管理带来全新的解决方案。