
数据库
文章平均质量分 51
罗彬桦
君子以自强不息
展开
-
Sql Why where 1 = 1?
When we look at other people's projects, we often see SQL statements like this.select * from user where 1=1Where where 1=1 is special, it covers two situations:dynamic SQL concatenation query table structure.First:Dynamic SQL splicingWhen yo...原创 2021-09-03 15:14:14 · 196 阅读 · 0 评论 -
mysql笔记
1.初识MySQLjavaEE:企业级Java开发 Web前端(页面:展示,数据!)后台 (连接点:连接数据库JDBC,链接前端(控制,控制视图跳转,和给前端传递数据))数据库(存数据,Txt,Excel,Word)只会写代码,学好数据库,基本混饭吃;操作系统,数据结构与算法!当一个不错的程序员!离散数学,数字电路,体系结构,编译原理。+实战经验,高级程序猿-优秀的程序猿-1.1、为什么要学习数据库1.岗位需求2.现在的世界,大数据的时代~,得数据者得天下。3.被迫需求:存数据4.原创 2020-12-18 12:50:57 · 317 阅读 · 0 评论 -
Mysql在Linux下安装
下载mysql8.0安装插件131和132两台将数据库包传进去安装启动mysql查看进程查找mysql临时密码登录mysql修改临时密码刷新一下原创 2021-05-29 23:18:01 · 62 阅读 · 0 评论 -
广青mysql实训1
《数据库应用技术》期末实训方案适用班级 19级软件技术2班 期末实训 开卷 时长 90分钟注意事项:① 以“姓名”命名新建一个文件夹,将实训结果文档保存到该文件夹;② 将有自己姓名的文件夹”压缩后提交发到教师机。第一部分 数据管理部分一、实训环境MySQL数据库系统+Navicat工具二、实训目标1、掌握用户管理方法2、掌握数据操纵方法3、掌握数据高级查询4、掌握数据库文件生成方法三、实训任务(一)数据定义1、使用Navcat工具,连接MySQL数据库,连接名“myconn”原创 2020-12-18 13:54:59 · 2429 阅读 · 6 评论 -
关键语法讲解
语法部分关键语法GROUP BYHAVING统计相关:COUNT,SUM,MAX,MIN,AVGGROUP BY满足 “SELECT子句中的列名必须为分组列或函数”列函数对于group by子句定义的每个组各返回一个结果CREATE TABLE `student` ( `student_id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(32) DEFAULT NULL, `age` int(11) DEFAULT NUL原创 2021-05-09 14:48:57 · 123 阅读 · 0 评论 -
InnoDB可重复读隔离级别下如何避免幻读
InnoDB可重复读隔离级别下如何避免幻读表象:快照读(非阻塞读)–伪MVCC内在:next-key锁(行锁+gap锁)next-key锁(行锁+gap锁)行锁Gap锁对主键索引或者唯一索引会用Gap锁吗如果where条件全部命中,则不会用Gap锁,只会加记录锁如果where条件部分命中或者全不命中,则会加Gap锁session1select @@tx_isolation;start transaction;delete from tb where id = 9;原创 2021-05-09 00:49:33 · 213 阅读 · 0 评论 -
锁模块之当前读和快照读
InnoDB可重复读隔离级别下如何避免幻读表象:快照读(非阻塞读)–伪MVCC内在:next-key锁(行锁 + gap锁)当前读和快照读当前读:select…lock in share mode,select…for update当前读:update,delete,insert就是加了锁的增删改查语句,不管你上的是共享锁还是排他锁均为当前读,那为什么叫做当前读呢,因为它读取的是记录的最新版本,读取之后还要保证其他并发不能修改当前记录,对读取的记录加锁,其中除了第一条语句加了共享锁之外,其原创 2021-05-08 23:40:06 · 376 阅读 · 0 评论 -
锁模块之事务并发访问产生的问题以及事务隔离机制
事务隔离级别以及各级别下的并发访问问题事务并发访问引起的问题以及如何避免更新丢失——mysql所有事物隔离级别在数据库层面上均可避免脏读——READ-COMMITTED事务隔离级别以上可避免不可重复读——REPEATABLE-READ事务隔离级别以上可避免select @@tx_isolation; 查看事务隔离级别set session transaction isolation level read uncommitted; 设置事务隔离级别为最低设置表字段是InnoDB支持原创 2021-05-08 02:21:08 · 135 阅读 · 2 评论 -
锁模块之数据库事务的四大特性
数据库事务的四大特性ACID原子性(Atomic)一致性(Consistency)隔离性(Isolation)持久性(Durability)原子性: 其实就是物理中的质量守恒定律,假如在两个相互连接的罐子里,通过原子之间的碰撞,会有左边的原子到右边的罐子里,但是不可能的事情是原子不会凭空消失或者增加。如果有凭空增加或者消失就进行事务回滚——回滚就是回到事务开始之前的状态。原子性是指事务是一个不可再分割的工作单元,事务中的操作要么都发生,要么都不发生。一致性: 一致性就是数据保持一致,在分布原创 2021-05-07 22:32:11 · 108 阅读 · 0 评论 -
锁模块之MyISAM与InooDB关于锁方面的区别
锁模块常见问题MyISAM与InnoDB关于锁方面的区别是什么数据库事物的四大特性事物隔离级别以及各级别下的并发访问问题InnoDB可重复读隔离级别下如何避免幻读RC、RR级别下的InnoDB的非阻塞读如何实现MyISAM与InnoDB关于锁方面的区别是什么MyISAM默认用的是表级锁,不支持行级锁InnoDB默认用的是行级锁,也支持表级锁...原创 2021-05-07 19:46:20 · 191 阅读 · 0 评论 -
索引额外问题之索引是建立越多越好吗
索引是建立得越多越好吗数据量小的表不需要建立索引,建立会增加额外的索引开销数据变更需要维护索引,因此更多的索引意味着更多的维护成本更多的索引意味着也需要更多的空间索引不是建立的越多越好!...原创 2021-05-06 19:55:39 · 254 阅读 · 0 评论 -
索引额外问题之最左匹配原则的成因
联合索引的最左匹配原则的成因mysql索引中的KEY、PRIMARY KEY、UNIQUE KEY、INDEX 的区别,即主键索引,唯一索引和普通索引的区别KEY index_area_title(area,title) 联合索引b+树是按照从左到右的顺序来建立搜索树的,比如area=? and title = ? 这样的数据来检索的时候,b+树会优先比较a列来确定下一步的所搜放心,如果a列相同再依次比较b列和c列,最后得到检索的数据;但当(area = ?)这样的没有area列的数据来的时候,b原创 2021-05-06 19:47:46 · 205 阅读 · 0 评论 -
索引额外的问题之如何调优Sql
索引模块问题回顾与总结为什么要使用索引什么样的信息能成为索引索引的数据结构密集索引和稀疏索引的区别衍生出来的问题,以MySQL为例如何定位并优化慢查询Sql联合索引的最左匹配原则的成因索引是建立的越多越好吗如何定位并优化慢查询Sql具体场景具体分析,只提出大致思路根据慢日志定位慢查询sql系统变量show VARIABLES like '%quer%';long_query_time: 每次查询超过指定时间就会被定义为慢查询放入到日志slow_query_lo原创 2021-04-29 12:03:34 · 104 阅读 · 2 评论 -
密集索引和稀疏索引的区别
索引模块密集索引和稀疏索引的区别密集索引文件中的每个搜索码值都对应一个索引值原创 2021-04-28 15:23:59 · 165 阅读 · 0 评论 -
优化你的索引-运用Hash以及BitMap
Hash索引也可以考虑一下理论上hash索引快于B+tree缺点仅仅能满足 “=” ,“IN”,不能使用范围查询无法被用来避免数据的排序操作不能利用部分索引键查询不能避免表扫描遇到大量Hash值相等的情况后性能不一定就会比B-Tree索引高BitMap索引是个神器缺点:在尝试新增或修改数据的时候,在同一行位图的都会被锁住,防止取错数据,所以适合并发较小的系统[https://www.sohu.com/a/300039010_114877]...原创 2021-04-28 14:03:17 · 193 阅读 · 0 评论 -
优化你的索引-运用B+树
B + - TreeB+树是B树的变体,其定义基本与B树相同,除了:非叶子节点的子树指针与关键字个数相同非叶子节点的子树指针P[i],指向关键字值[K[i], K[i+1]]的子树非叶子节点仅用来索引,数据都保存在叶子节点中所有叶子节点均有一个链指针指向下一个叶子结点结论B+Tree更适合用来做存储索引B + 树的磁盘读写代价更低B + 树的查询效率更加稳定B + 树更有利于对数据库的扫描...原创 2021-04-28 09:34:30 · 127 阅读 · 0 评论 -
优化你的索引-运用B树
B-Tree定义根节点至少包括两个孩子树种每个节点最多含有m个孩子(m >= 2)除根节点和叶节点外,其他每个节点至少有ceil(m/2)个孩子所有叶子节点都位于同一层假设每个非终端节点包含有 n 个关键字信息,其中Ki (i=1…n)为关键字,且关键字按顺序升序排序 K(i-1) < Ki //意思是说从左到右是升序的关键字的个数 n 必须满足:[ceil(m / 2) - 1] <= n <= m-1 //每个树的节点的叶子总比它少一个非叶子节点的指针原创 2021-04-28 09:03:05 · 124 阅读 · 0 评论 -
优化你的索引-运用二叉树找树
二叉树找树上阵平衡二叉树:左子树和右子树的高度差不超过1。时间复杂度:O(logn)缺点:如果我们删掉了2和6的树,那么我们再增加较大的值时会出现以下这种情况时间复杂度:O(n)如果我们将树旋转是可以保持O(logn),但是我们将数据树放入到内存中的时候,我们会每次进行IO,如果IO过多会降低速度。那如何让我们的树更快呢?这时候我们就想到将我们的树变的矮一些就想到b-tree了。...原创 2021-04-28 01:37:59 · 95 阅读 · 0 评论 -
数据库架构
数据库架构如何设计一个关系型数据库开始我们的设计存储管理 //以块或者页存储缓存机制 //优化内存SQL解析日志管理权限划分 //老板可以看到员工数据容灾机制索引管理锁管理索引模块常见问题为什么要使用索引什么样的信息能成为索引索引的数据结构密集索引和稀疏索引的区别为什么要使用索引快速查询数据什么样的信息能成为索引主键、唯一键以及普通键等索引的数据结构生成索引,建立二叉查找树进行二分查找生成索引,建立B-Tree结构进行查找生成索引,原创 2021-04-28 01:27:57 · 112 阅读 · 0 评论