数据库
文章平均质量分 72
玩葫芦的卷心菜
梦游的后端菜鸡
展开
-
MySQL(五)-explain
文章目录一、作用二、语句三、字段分析1、id2、select_type3、type4、key、possible_keys、key_len5、ref6、rows7、Extra一、作用explain可以模拟优化器执行SQL语句,从而知道mysql是怎么执行你的SQL语句的二、语句explain SQLexplain select * from user;三、字段分析1、id如果是连接查询,id相同,执行顺序由上至下如果是子查询,id互不相同,id值越大,优先级越高,会被优先执行如果原创 2021-07-12 00:08:08 · 128 阅读 · 0 评论 -
MySQL(四)-索引为什么是B+树?
文章目录1、Hash2、数组3、二叉树4、红黑树5、B+树数据库索引,必须满足查询快,且排序的特性首先来看一下,常常用来索引的数据结构1、HashHash索引通过Hash算法建立hash表,任何的数据算出hash值后,都能够通过近似O(1)的效率查询到结果Hash两种常见算法:拉链法开放地址法但是因为hash是无序的,根本满足不了数据库排序以及范围查询2、数组数组不仅能够对数据进行排序,而且索引查询效率高,遍历全表也可以通过二分查询但是为什么不能当作数据库索引呢,原创 2021-07-11 19:59:24 · 120 阅读 · 0 评论 -
Mysql(三)-视图
文章目录一、视图介绍应用场景二、视图的优点三、视图的使用1、创建视图2、修改视图3、删除视图四、视图的数据操作五、表和视图对比一、视图介绍一种虚拟存在的表,使用视图时动态生成,其中只保留的SQL逻辑,并没有保存查询结果应用场景多个地方需要同样的查询结果该查询结果的SQL语句比较复杂# view_stu保存了 (select id,name from student) 这条语句create view stu_view as (select id,name from student) ;原创 2021-06-09 00:17:10 · 259 阅读 · 0 评论 -
MySQL(二)-事务
文章目录前置一、ACID原则二、使用事务1、Mysql样式2、Java中使用事务的样式3、回滚点三、隔离级别1、三个读问题2、隔离级别介绍看了点关于MySQL的面经,发现自己基础薄弱,回来补一下基础,顺便学习一下索引优化和数据库并发复习来源尚硅谷Spring事务链接:自己写的,可能总结不大好前置事务:一条或一组SQL语句的基本单位,要不同时执行成功,要不全部失败经典案例:A向B转账1000元,A的账户-1000元,B的账户+1000元# account表中:A money=3000原创 2021-06-08 00:31:45 · 222 阅读 · 0 评论 -
MySQL(一)-约束
一、常见约束1、格式create table 表名( 字段名 字段类型 约束1 约束2..);create table student( id int parimary key, name varchar(5) not null, sex enum('男','女') default '男' not null, exam_id int unique comment '准考证号' );2、六大约束not null :非空。字段不能为空default ‘val’:默认。如果没原创 2021-06-07 21:31:16 · 130 阅读 · 0 评论 -
java.sql.SQLException: Before start of result set常见场景
文章目录1、Exception2、ResultSet的next方法3、next原理:1、Exceptionjava.sql.SQLException: Before start of result set at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129) at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.j原创 2021-06-01 23:00:35 · 395 阅读 · 1 评论