写在正文前:内容涉及到一些数据库的基础名词和及其简单介绍
存储引擎
数据库通过存储引擎进行CURD,存储引擎主要有:MyLsam,InnoDB,Memary,Archive,Federated
索引
索引是对数据库种一列或者多列的值进行排序的一种结构。
常见的索引原则:
1.为经常需要排序、分组、联合操作的字段建立索引。
2.为经常需要查询的字段建立索引。
3.限制索引的数目(索引太多,写操作速度降低)
4.尽量使用数据量少的索引
5.索引字段值较长的时候,最好使用值的前缀来索引。
6.最左前缀匹配原则
7.尽量选择区分度高的列作为索引
8.索引列不要参与计算
数据库三范式
第一范式的目的是确保每列的原子性
第二范式每个表只描述一件事情
第三范式是满足第二范式,并且表中的列不存在对非主键列的传递依赖。
数据库ACID
原子性:事务各部分是一个完整的操作,要么全部执行、要么全部不执行。
一致性:当事务处理完成之后,数据必须是一致的。
隔离性:对数据修改的所有并发事务是彼此隔离的,事务必须是独立的,不影响或者依赖其他事务。
永久性:事务完成之后,数据被永久保存。事务日志能够保证事务的一致性。
存储过程
一组为了完成特定功能的sql语句集,存储在数据库中,编译之后再次调用不需要编译,只要指定名称和传入参数(如果有参数)就可调用。
触发器
触发器是一段能自动执行的程序,是特殊的存储过程。
数据库并发策略
乐观锁:认为查询的时候别人不会修改查询的数据
悲观锁:查询的时候别人会修改查询的数据,查询和修改都要先加锁。
时间戳:不叫锁,使用时间戳。
数据库锁
行级锁、表级锁、页锁
分区分表
垂直切分和水平切分
垂直切分:按照模块或者关系密切程度划分出不同的表放在不同的数据库。
水平切分:当一个表中的数据量太大时,按照某种规则把数据放在结构相同的不同的数据库表和库中。
分布式事务和分布式锁
后期单独介绍
标签:事务,范式,名词,数据库,基础,存储,查询,索引 来源: https://blog.csdn.net/XIANXULU/article/details/104094195
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。