数据库
文章平均质量分 62
Octavius_
这个作者很懒,什么都没留下…
展开
-
【知识梳理】MyBatis-Plus之and和or多重嵌套的写法
要用mybtis-plus框架写一个类似如下的语句: select * from X where A and B and ( ( C and ( D or E ) ) or ( F and ( G or H ) ) ) 代码如下: wrapperBill.in("A", A); wrapperBill.eq("B", B); wrapperBill.and(wrapper ->{ wrapper.and(w1 ->{原创 2021-10-14 15:41:32 · 916 阅读 · 0 评论 -
【知识梳理】索引为什么选B+树?索引为什么失效?怎么优化?
1️⃣ 为什么索引不选用二叉树、Hash表或者B树? 二叉树:随着树高度的增加,查找得越来越慢 Hash表:①Hash值是无序的,所以不能进行范围查找、不能排序 ②Hash值可能相同,影响查询性能 B树:存在回旋查找问题 B+树:叶子节点构成了单向链表,解决了回旋查找问题。同时,非叶子节点只存储key,不存储value 2️⃣ 索引为什么失效? 使用联合索引时,不遵循最左前缀法则:B+树底层的链表会按照最左列的数据的大小进行排序,当做最左列数据的值相同时,下列的数据值才是有序的。所以带头大哥不能死,中间兄弟原创 2021-05-13 12:27:48 · 534 阅读 · 0 评论 -
【归纳总结】数据库之索引
什么是索引? MySQL官方对于索引的定义是:索引使可以帮助高效获取数据的数据结构。即索引是数据结构。 数据库在执行查询的时候,如何没有索引存在的情况下,会采用全表扫描的方式进行查找。如果存在索引,则会先去索引列表中定位到特定的行或者直接定位到数据,从而可以极大地减少查询的行数,增加查询速度。 可以类比为一部字典开头的目录。 索引是哪种数据结构? 1️⃣二叉树、红黑树? 优点:二叉树中的每一个元素保存了相应行数据的磁盘地址,通过该磁盘地址,便可以定位到对应行的数据。只需要几次查询即可查到该索引数据。 缺点原创 2021-05-12 19:33:22 · 214 阅读 · 0 评论 -
【归纳总结】数据库之连接池
我们用 JDBC 操作数据库的时候,每次操作完都会将连接关闭。数据库连接是极其宝贵的资源,频繁的创建和销毁会极大地降低服务器的性能。因此,我们可以利用池化技术,重复利用数据库资源,避免没必要的开销。 用口语来说,相当于我们创建了一个池子,这个池子里面放的都是一些JDBC的连接,也就是Connection对象,每当我们需要时,我们去从连接池里面获取连接,使用完了连接,放回连接池,做到连接的反复使用。 手写一个数据库连接池 思路: 要实现DataSource接口(SUN公司就制定的连接池的标准) 要有一个ge原创 2021-03-15 23:15:33 · 392 阅读 · 0 评论 -
【归纳总结】数据库之JDBC
定义 Java Database Connection = Java数据库连接 使用方法 1. 注册驱动 DriverManager.registerDriver(new Driver()); 2. 获取连接 Connection connection = DriverManager.getConnection("url","username","password"); 3. 创建Statement对象,构建sql请求 Statement statement =原创 2021-03-15 15:43:21 · 118 阅读 · 0 评论 -
【归纳总结】数据库之约束、多表、范式、连接、备份
约束 六大约束:primary key(主键约束)、foreign key(外键约束)、unique(唯一性约束)、not null(非空约束)、default(默认值约束)、check(自定义约束) primary key、not null 在之前的文章已经提到了 unique 和主键的区别:主键不可以为null, unique可以为null 当我们插入外键的值的时候,那么他就会去关联外键的表里面去找有没有该值,假如有,就插入,假如没有,就不让插入,报错,在工作中,一般不使用外键 多表设计 一对一 例如原创 2021-03-12 22:52:33 · 139 阅读 · 0 评论 -
【归纳总结】数据库之SQL语句
对数据库的操作 增: create database [if not exists] db_name [character set, collate]; ????: //创建数据库 create database db01; //如果不存在则创建数据库 create database if not exists db02; //创建数据库并指定字符集utf-8 create database db03 character set utf8; //创建数据库并指定字符集utf-8,而且设置排序规则不区原创 2021-03-10 21:07:32 · 95 阅读 · 1 评论 -
【归纳总结】数据库之基础
一、数据库的定义 数据库是按照数据结构来组织、存储和管理数据的仓库。 二、数据库的分类 关系型数据库 不仅存储数据本身,还存储数据之间的关系 数据存储在硬盘上 非关系型数据库 也被称为NoSQL数据库。NoSQL的产生并不是要否定关系型数据库,而是作为关系型数据库的一个有效补充。相当于缓存中间件。 数据存储在内存中 三、数据库的术语 数据库系统(DBS):是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统、应用系统、数据库管理员(DBA)构成。 数据库管理系统(DBMS):是一原创 2021-03-10 20:33:39 · 301 阅读 · 1 评论