数据库
文章平均质量分 83
Longtermevolution
人生不要太匆匆,不急,慢慢来吧
展开
-
视图
目录视图定义视图意义创建视图语法视图定义视图(View)并不在数据库中实际存在,而是一种虚拟表,行和列数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的。即视图就是执行查询语句后所返回的结果集,所以在创建视图的时候,主要就是创建这条SQL查询语句。对于普通的数据表来说,视图具有以下的一些特点:1、简单:因为视图是查询语句执行后返回的已经过滤好的复合条件的结果集,所以使用视图的用户完全不需要关心后面对应的表的结构、关联条件和筛选条件。2、安全:使用视图的用户只能访问原创 2021-02-25 21:37:42 · 988 阅读 · 0 评论 -
数据库索引的一些问题-转载
作者:路人zhang链接:https://juejin.cn/post/6911532527605776391来源:掘金目录什么是索引?索引的优缺点?索引的数据结构?B+树索引哈希索引Hash索引和B+树索引的区别?索引的类型有哪些?索引的种类有哪些?B树和B+树的区别?数据库为什么使用B+树而不是B树?什么是聚簇索引,什么是非聚簇索引?非聚簇索引一定会进行回表查询吗?索引的使用场景有哪些?索引的设计原则?如何对索引进行优化?如何创建/原创 2021-02-25 21:29:10 · 267 阅读 · 0 评论 -
InnoDB引擎原理总结
目录引言关键点参考文章:一文了解InnoDB存储引擎引言InnoDB是能够保证事务安全的MySQL存储引擎。主要特点是:支持行锁; 支持MVCC; 支持外键; 提供一致性非锁定读; 被设计用来有效利用以及使用内存和CPU;关键点详细参考文章,以及《mysql技术内幕》第二章内容。这里主要通过关键词记录关键点。内存池(缓冲池)本质:本质上是一块内存区域,因为在读写的速度:内存>磁盘,所以用内存来弥补磁盘速度慢的缺陷。具体:在数据库中读取页的操作时,首先将原创 2021-02-24 20:44:09 · 395 阅读 · 0 评论 -
mysql事务隔离级别及原理
参考:https://zhuanlan.zhihu.com/p/1174769591、事务:数据库逻辑的基本单元,ACID;2、mysql默认隔离级别--可重复读:对于其他事务的修改,读不到;对于其他事务的新增,能读到 -->幻读--->mysql解决幻读办法:行锁 + 间隙锁(有索引的、没索引的)3、mysql如何解决幻读 +总结几种隔离级别如何出现的逻辑:mysql在RR的隔离级别下,究竟是通过MVCC解决幻读的还是通过行锁的next key算法解决的? - yan.原创 2020-09-25 12:53:07 · 143 阅读 · 0 评论 -
数据库
参考:常见数据库面试题(内含详细文章)原创 2020-09-21 18:51:28 · 107 阅读 · 0 评论 -
数据库索引
如何创建索引:https://zhuanlan.zhihu.com/p/78982303关于索引的面经:https://zhuanlan.zhihu.com/p/78982303原创 2020-09-03 17:05:23 · 107 阅读 · 0 评论 -
mysql常用存储引擎
目录前言整体MyISAM存储引擎innoDB存储引擎(mysql默认)MEMORY存储引擎ARCHIVE存储引擎参考:1、MySQL中常用存储引擎有哪些?它们相互之间有什么区别?2、Mysql各种存储引擎对比总结(常用几种)前言说到存储,首先需要了解常用的存储介质。按照访问速度从高到底:寄存器>内存>SSD>磁盘存储引擎?1、存储引擎其实就是对于数据库文件的一种存取机制,如何实现存储数据,如何为存储的数据建立索引以及如何更新,查询数据原创 2020-09-03 11:22:42 · 162 阅读 · 0 评论 -
sql 分组查询最新的一条数据
参考:https://www.cnblogs.com/java-spring/p/11498457.html开发中,遇到查询一个分组中最新的一条数据的需求。记录如下:需求:从表格statistics中选择consumer_app_name分组中,最新的一条数据。思路:先排序,再分组,然后保证子查询仍然有序。1、首先将statistics降序排列注意,使用limit的原理后面再说。SELECT * FROM statistics order by create_dat..原创 2020-09-02 19:33:36 · 1408 阅读 · 0 评论 -
数据库三大范式通俗理解
目录数据库范式简介第一范式(1NF)第二范式(2NF)第三范式(3NF)小结目的原则反范式数据库范式简介范式的简介范式的英文名称是Normal Form,它是英国人E.F.Codd(关系数据库的老祖宗)在上个世纪70年代提出关系数据库模型后总结出来的。范式是关系数据库理论的基础,也是我们在设计数据库结构过程中所要遵循的规则和指导方法。目前有迹可寻的共有8种范式,依次是:1NF,2NF,3NF,BCNF,4NF,5NF,DKNF,6NF。通常所用到的只是前三个.原创 2020-08-18 14:41:14 · 674 阅读 · 0 评论 -
mySQL中实现ACID原理
https://www.cnblogs.com/youngdeng/p/12855672.html原创 2020-08-12 20:07:16 · 128 阅读 · 0 评论 -
数据库 - 给你场景创建一个数据表格 - 示例
现实工作场景中,面向一个业务,需要建立相应的数据表来存储相应的业务数据。建立表格的时候,需要在满足描述业务需求的基础上,尽量避免表格造成后期的慢SQL等问题。原创 2020-08-05 11:34:58 · 371 阅读 · 0 评论 -
mySQL的慢SQL如何优化
引言现实场景中,假设你通过mySQL建立了一张sql表格,他的查询效率很低,怎么进行优化呢???关键词:mySQL、查找、效率、优化目录1、为什么查询可能会慢呢? -- 阐述原因 -- 相应的解决办法2、其他关于慢SQL优化的问题1、为什么查询可能会慢呢? -- 阐述原因 -- 相应的解决办法常见原因:查询却没有索引; 写了索引但是没效果,写法不对; 单表数据量太大; 硬件本身问题。对应的解决方法:1)没有索引 --- 那就增加索引,注意索引的规范:根据 w原创 2020-08-05 10:27:13 · 322 阅读 · 0 评论 -
Mybatis常见问题总结
目录1、Mybatis作用2、优缺点和适用场景3、Mybatis和Hibernate的区别4、Mybatis如何防止SQL注入?1)在书写SQL语句的时候,使用两种特殊语法(#和$)主要参考:https://blog.csdn.net/a745233700/article/details/809771331、Mybatis作用概念:对象关系映射框架。(做POJO和数据库的映射。 POJO<----->数据库)作用:在使用数据库的时候,只需要关注SQL语.原创 2020-07-31 21:11:35 · 526 阅读 · 0 评论 -
数据库索引 - B+树
目录特点实例查找插入删除总结B+树是B树的变种,查询效率比B更高。为什么更高?往下看。参考:https://blog.csdn.net/z_ryan/article/details/79685072特点1.有k个子树的中间节点包含有k个元素(B树中是k-1个元素),每个元素不保存数据,只用来索引,所有数据都保存在叶子节点。2.所有的叶子结点中包含了全部元素的信息,及指向含这些元素记录的指针,且叶子结点本身依关键字的大小自小而大顺序链接。3.所有的中.原创 2020-07-22 19:41:58 · 175 阅读 · 0 评论 -
数据库索引 - B树
目录1. 前言1.1 B树、B+树出现原因?1.2 一种新的查找树结构——多路查找树2. 多路查找树 —— 平衡树—— B树查询插入删除3、B+树1. 前言参考:https://blog.csdn.net/z_ryan/article/details/79685072二叉查找树的查找时间复杂度为O(log(2,N)),其查找效率已经足够高了,那为什么还有B树和B+树的出现呢?难道它两的时间复杂度比二叉查找树还小吗?IO操作的效率很低,那么,当在大量数据存.原创 2020-07-22 19:17:14 · 888 阅读 · 0 评论 -
数据库一对一 一对多 多对多关系
参考:https://blog.csdn.net/u013144287/article/details/79024130自己在项目中写的实例:‘实体’和‘公理’具有多对多关系,即一个实体可以对应多个公理,一个公理也可以包含多个实体。多对多关系需要一张纽带表来实现。// 实体表格 create table if not exists `entity_management`( `id` int unsigned .原创 2020-06-04 20:09:34 · 7421 阅读 · 0 评论