![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mysql
∝ 1 颗心╮
Java
展开
-
数据库面试知识点汇总
一、基本概念1.主键、外键、超键、候选键超键:在关系中能唯一标识元组的属性集称为关系模式的超键。一个属性可以为作为一个超键,多个属性组合在一起也可以作为一个超键。超键包含候选键和主键。候选键:是最小超键,即没有冗余元素的超键。主键:数据库表中对储存数据对象予以唯一和完整标识的数据列或属性的组合。一个数据列只能有一个主键,且主键的取值不能缺失,即不能为空值(Null)。外键:在一个表中存在的另一个表的主键称此表的外键。2.为什么用自增列作为主键如果我们定义了主键(PRIMAR转载 2020-07-17 14:02:28 · 423 阅读 · 0 评论 -
MySQL避免插入重复记录:唯一性约束
mysql在存在主键冲突或者唯一键冲突的情况下,根据插入策略不同,一般有以下三种避免方法。1、insert ignore2、replace into3、insert on duplicate key update注意,除非表有一个PRIMARY KEY或UNIQUE索引,否则,使用以上三个语句没有意义,与使用单纯的INSERT INTO相同。一、insert ignoreins...转载 2019-10-16 19:12:38 · 520 阅读 · 0 评论 -
数据库的四大特性以及事务的隔离级别,七种传播行为
数据库的四大特性:1.原子性2.一致性3.隔离性4.持久性其中不考虑事务的隔离性会出现下面几种情况:(1)脏读在一个事务处理过程里读取了另一个未提交的事务中的数据。当一个事务正在多次修改某个数据,而在这个事务中这多次的修改都还未提交,这时一个并发的事务来访问该数据,就会造成两个事务得到的数据不一致。(2)不可重复读读取了已提交的事务。事务A读取数据后,事务执...原创 2018-06-22 22:44:12 · 1901 阅读 · 0 评论 -
SQL 第一范式、第二范式、第三范式、BCNF
一、第一范式1NF要求:每一个分量必须是不可分的数据项。特点:1)有主键,且主键不能为空。2)字段不能再分。二、第二范式2NF要求:在范式一的基础上,且每一个非主属性完全函数依赖于码。特点:1)满足第一范式。2)表中的每一个非主属性,必须完全依赖于本表码。3)只有当一个表中,主码由两个或以上的属性组成的时候,才会出现不符合第二范式的情况。示例:(以下例子...原创 2018-11-13 08:50:53 · 828 阅读 · 0 评论 -
数据库的封锁
封锁就是事务T在对某个数据对象操作之前,先向系统发出请求,对其加锁。加锁后事务T就对该数据对象有了一定的控制,在事务T释放它的锁之前,其他事务不能更新此数据对象。基本封锁类型有两种:排它锁(exclusive locks,简称X锁)又称为写锁,和共享锁(share locks,简称S锁)又称为读锁。1、一级封锁协议一级封锁协议是指,事务T在修改数据R之前必须先对其加X锁,直到事务结束才...原创 2018-11-14 08:32:30 · 2325 阅读 · 0 评论 -
MySQL优化查询速度的方法
查询速度慢的原因从程序员的角度查询语句写的不好 没建索引,索引建的不合理或索引失效 关联查询有太多的join从服务器的角度服务器磁盘空间不足 服务器调优配置参数设置不合理MySQL数据库优化的八种方式1、选取最适用的字段属性MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快。因此,在创建表的时候,为了获得更好的性能,我...原创 2019-04-14 11:47:30 · 17835 阅读 · 0 评论 -
MySQL索引背后的数据结构及算法原理
摘要本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引,至于哈希索引和全文索引本文暂不讨论。文章主要内容分为三个部分。第...转载 2019-05-28 22:27:34 · 110 阅读 · 0 评论 -
JDBC中的Statement和PreparedStatement的区别
1、PreparedStatement是预编译的,对于批量处理可以大大提高效率.也叫JDBC存储过程2、使用 Statement 对象。在对数据库只执行一次性存取的时侯,用 Statement 对象进行处理。PreparedStatement对象的开销比Statement大,对于一次性操作并不会带来额外的好处。3、statement每次执行sql语句,相关数据库都要执行sql语句的编译,p...转载 2019-09-28 09:08:30 · 581 阅读 · 0 评论