博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据库知识总结
阅读量:5745 次
发布时间:2019-06-18

本文共 992 字,大约阅读时间需要 3 分钟。

这是我关于之前学习数据库一些知识的总结 首先数据库分为两种,关系型数据库,如MySQL,还有非关系型数据库,如NoSQL。这里主要是对比较常用的关系型数据库进行的总结。

关系型数据库

关系型数据库是基于关系代数理论的,它的优缺点

优点:健壮性强,社区庞大

缺点:表结构不直观,实现复杂,速度慢

join和group by

join会做一个笛卡尔积,A✘B on会筛选出其中符合条件的记录,但是会把过程优化,以左边的外键,去寻找右边表的外键拼接。

inner join和left join,内连接和左外连接的区别?内连接不会实现null,但是外连接会显示,左外连接就是左边全选,右边拼接

事物和乐观锁

事务的特性:

ACID,原子性,一致性,隔离性,持久性。

英语为: Atomicity Consistency Isolation Durability

原子性是说要么执行完毕,要么不执行,比如银行转账,如果错误,必须回滚。

一致性是说数据库的数据必须是一致的,满足约束,比如外键,必须修改互相之间有约束的表。

隔离性是一个事务的执行不能被其它事务干扰。

持久性是服务器重启,数据不会丢失。

事务隔离级别:

  1. Read Uncommitted 读未提交,顾名思义,就是一个事务可以读取另一个未提交事务的数据
  2. Read Committed 读提交,顾名思义,就是一个事务要等另一个事务提交后才能读取数据
  3. Repeatable Reads 重复读,就是在开始读取数据(事务开启)时,不再允许修改操作
  4. Serializable 是最高的事务隔离级别,在该级别下,事务串行化顺序执行,可以避免脏读、不可重复读与幻读。但是这种事务隔离级别效率低下,比较耗数据库性能,一般不使用。

乐观锁

乐观锁:在执行SQL之前会检验数据是否正确。

时间戳(timestamp),一个能表示一份数据在某个特定时间之前已经存在的、 完整的、 可验证的数据,通常是一个字符序列,唯一地标识某一刻的时间。

数据库索引

数据库索引有两个作用:

  1. 加快查找速度
  2. 约束数据的值

索引可用于数据库数据库优化,对常用的数据加上索引可大大加快数据的查找速度。

数据库连接池

数据库连接池的定义: 把数据库的连接先建立好,当需要使用的时候请求一个连接,不用的时候再放回去,如图

这些是我对数据库一些知识的总结,大家有什么问题可以留言。

转载地址:http://aiazx.baihongyu.com/

你可能感兴趣的文章
Chrome Apps将可以打包成iOS或Android应用
查看>>
工作日志2014-08-28
查看>>
【Android UI设计与开发】9:滑动菜单栏(一)开源项目SlidingMenu的使用和示例
查看>>
第十章——维护索引(7)——使用索引视图提高性能
查看>>
项目实践中--Git服务器的搭建与使用指南(转)
查看>>
Eclipse远程调试weblogic
查看>>
Android GreenDao with Android Studio IDE
查看>>
天气窗件展示 -一个HTML5 地理位置应用的例子
查看>>
[数分提高]2014-2015-2第2教学周第2次课
查看>>
LeetCode - Excel Sheet Column Number
查看>>
OS Kernel Parameter.semopm
查看>>
解决SpringMVC的@ResponseBody返回中文乱码
查看>>
java设计模式2--抽象工厂模式(Abstract Factory)
查看>>
Nginx 用log_format设置日志格式
查看>>
选择比能力更重要,我们怎么来选择加入哪个创业项目呢?
查看>>
使用maven创建一个例子
查看>>
Oracle---number数据类型
查看>>
lr场景运行报错的解决方法
查看>>
如何实现4分频?
查看>>
Cordova4.0 系列 -- 基本环境搭建(1)
查看>>