自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 MySQL 统计数据库表的行数

统计mysql数据库表的行数和数据长度

2023-02-20 10:30:40 182

原创 索引是建立得越多越好吗?

到这里有的人可能就有些疑问了。既然创建索引能够提高我们的查询效率,那索引是建立得越多越好吗?答案是否定的。物极必反,通过前面的学习我们对索引有了一个比较全面的理解。分为下面几个方面来回答。数据量小的表不需要建立索引,因为建立索引会增加额外的开销。(这就好比我们去读个两页的宣传手册,随还回去看目录呢)数据变更需要维护索引,因此更多的索引意味着更多的维护成本。更多的索引也意味着需要更多的空间(这就好比一本50页的书却有50页的目录,这样谁还愿意去读呢。那书本是不是更厚了)...

2022-06-06 17:42:45 1696

原创 联合索引的最左匹配原则的成因

上面我们只看的是单一的索引,接下来咱们来看看联合索引,也就是回答第二个问题。联合索引的最左匹配原则的成因。什么是联合索引呢,就是由多列组成的索引了。那亦要了解其成因,那先看看什么是最左匹配原则。假设我们有两列 A,B 那我们对A和B设置一个联合索引,就是将A和B都设置为索引。它的顺序呢是A,B。我们在where 语句中调用where A = ?and b = ? 的时候呢,它就会走联合索引。如果我么们要where A = ?它也会走这个联合索引,但是我们调 where b = ? 的时候,没有A的时候他就不

2022-06-06 17:41:05 1034 1

原创 网络基础知识讲解

网络基础知识讲解前言:现在很多程序员不太注重网路知识的理解,因为编程的时候很多时候不用我们来编写Scoket这些东西的,并且底层服务很好的进处理了数据包的解析,所以貌似网络方面的知识是不用我们去关心的,这就实际上类似于框架底层的东西平时能满足我们的时候呢,我们并不太去关心他们。但要真的出了问题比如性能没办法满足我们的需求的时候,这时如果不熟悉底层的话,我们往往束手无策,此种情况同样适用于网络,比如说比没有办法判定程序为什么会变慢,是网络的原因还是别的原因数据包有没有丢失,为什么造成大量的wait,为什么

2022-01-12 17:26:01 138

原创 锁模块之MyISAM与InooDB关于锁方面的区别

锁锁模块之MyISAM与InooDB关于锁方面的区别了解完关系型数据库和索引相关的知识点后,我们来讲讲锁。我们来看看锁方面的常见问题。MyISAM和InnoDB关于锁方面的区别是什么?数据库事务的四大特性事务隔离级别,以及各级别下的并发访问的问题InnoDB可重复读隔离级别下如何避免幻读RC,RR级别下的InnoDB的非阻塞读如何实现1.MyISAM和InnoDB关于锁方面的区别是什么下面来解答第一个问题,这里先给出答案。MyISAM默认使用的是表级锁,不支持行级锁。Inno

2022-01-12 17:25:34 248

原创 数据库索引

数据库索引接下来来到数据库知识的重点模块。索引模块 。1.为什么要使用索引?这个问题比较宽泛,要回答这个问题咋们先对查询数据的方式做个调研。我们先试试用最简单的方式来进行数据查询,他便是全表扫描,即将整张表的数据一次或者分批次加载到内存当中,刚刚我们说到存储的最小单位是块或者页它们是由多行数据来组成的,然后呢我们将这些块都加载进来然后逐个块去轮询找到我们要的目标并返回这种方式普遍是认为是非常的慢的,那它在所有的情况下都这么慢吗?其实上存在集合里他也有很适用的地方,比如说当一则很少量的数据十行或者几十行

2022-01-12 17:25:04 184

原创 数据库事务四大特性

数据库事务的四大特性作为单个逻辑单元执行的一系列操作,要么完全执行要么全部都不执行,咋们接下来讲讲数据库事务的四大特性。其实跟程序事务特性没啥区别,即所谓的ACIDA (Atomic)原子性 (原子性是指事务包含的所有操作,要么全部执行要么全部失败回滚)C (Consistency)一致性 (事务应确保数据库的状态,从一个一致的状态转变为另一个一致的状态,一致性的含义呢是指数据库中的数据呢应满足完整性约束,就拿转账来说,假设用户A和用户B两者的钱加起来一共是2000,那么不管A和B之间如何转账,转

2022-01-12 17:24:33 3557

原创 锁模块之当前读和快照读

锁模块之当前读和快照读InnoDB可重复读隔离级别下是如何避免幻读的。这里我们分为表象和内在表象:快照读(非阻塞读)——伪MVCC (前提是在RR级别下)内在:next-key 锁(行锁+gap锁)当前读和快照读当前读:select … lock in share mode,select … for update当前读2:update ,delete, insert其实当前读就是加了锁的增删改查语句,不管你上的是排他锁还是共享锁都是当前读。那为什么是当前读呢?原因是它读取了记录的最

2022-01-12 17:23:55 443

原创 java创建线程池的几种方式(代码)

```javapackage com.example.demo.thread;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.ScheduledExecutorService;import java.util.concurrent.TimeUnit;public class ThreadPoolTest { p.

2021-10-27 17:36:50 367

原创 数据库架构

数据库架构总结一下,数据库有哪些方面的知识点。数据库的架构部分:这部分主要考察大家对于数据库有没有一个整体的了解索引部分:这是最重点最常考的锁部分语法部分:这是我们工作中经常用到的数据库的纯理论部分 - 如范式理论范式理论:范式一:列不可代分范式二:标主键范式三:去除传递依赖1NF:建表时要保证列的原子性(即不可分割性);打个比方:电话这个字段有可能是座机,也有可能是手机,具有可分割性,所以不符合1NF;应该改成:这样就符合列的不可分割性,即第一范式;*

2021-09-20 13:10:35 1944

原创 数据可索引之二叉查找树

数据库索引之二叉查找树众所周知二叉查找树是是每个节点最多由两子树的树结构,通常子树被称为左子树和右子树。二叉查找的重要性就是,对于树中的每一个节点x(如上图 5,2,7,6,9)他的左子树的节点均小于x,同时右子树上的节点均大于x。所以用我们的二叉查找树来作为索引确实能提高我们的查询效率。这里需要大家注意的是,我们说的索引的存储块和我们之前所说的数据库最小存储单位块或者页并非一一对应。这是方便我们的理解呢先将其一一对应起来了。每个存储块存储的是关键字还有指向子树的指针,像上图这颗树他不仅是二叉树还是一颗

2021-09-20 13:07:26 382

原创 如何调优SQL

如何调优SQL分下面几个问题来讨论如何定位并优化慢查询Sql联合索引的最左匹配原则的成因索引是建得越多越好吗接下来我们一一解答之:第一个问题,如何定位并优化慢查询Sql具体场景具体分析只提出大致思路,其实这个问题属于开放性的题目,主要考察有没有做过SQL优化,由于该问题属于经验的问题,做过了就是做过了没做过就是没做过,问了你就知道是没有做过的,没办法给出大家准确的答案只能给出大致思路,这里提前公布一下答案。然后我们再依依去讲解第一步:根据慢日志定位慢查询SQL第二部:使用e

2021-09-20 13:05:55 9627

原创 密集索引和稀疏索引的区别

密集索引和稀疏索引的区别密集索引文件中的每个搜索码值都对应一个索引值(大家可以理解为叶子节点保存的不仅仅是键值,还保存了同一记录里的其他列的信息,由于密集索引决定了表的物理排列顺序,一个表只能有一个排列顺序,所以一个变只能创建一个密集索引。)稀疏索引文件只为索引码的某些值建立索引项(叶子节点仅保存了键位信息和该行数据的地址,有的稀疏索引只保存了键位信息以及主键,那么定位到叶子节点之后,仍然需要通过地址还有主键信息进一步定位到数据 )咋们来看看他们的图:上面都是对于一般数据库的情况,我们来对My

2021-09-20 12:52:12 797

原创 TCP的三次握手

TCP的三次握手这里我们先来交代一下IP协议和TCP协议,我们都知道呢IP协议是一个无连接的通信协议,它不会占用两个计算机之间的通信线路,这样IP就降低了网络线路的需求。每条线可以同时满足许多台计算机的之间的通信需要。通过IP消息或者其它数据会分割为较小,独立的包。并通过因特网在计算机之间相互传送。IP负责将每个包路由至它的目的地,但是IP协议没有做任何的事情来确保数据包按顺序发送,或者包是否被破坏所以IP数据包是不可靠的需要它的上层协议来进行控制。从前面我们了解到传输控制协议TCP是传输层的协议

2021-09-20 12:44:53 136

原创 SQL关键语法讲解

关键SQL语句在面试过程当中面试官经常会让我们写一些复杂的sql语句。这部分像极了客观题程序不会骗人一会就能写对,不会就很有可能写不出来。我们这里不会讲基础的语法如select,where,join之类。这些假定大家已经比较清楚了。我们这里主要讲两个重要的语法GROUP BYHAVING看到这两个,我们就应该会想到和它们相关的都是去做一些统计的事情。以及t统计相关 COUNT,SUM,MAX,MIN,AVGGROUP BY满足,“select 子句中的列名必须为分组列或者列函数”

2021-09-20 12:40:26 74

原创 谈谈你对Java的理解

谈谈你对Java的理解这个考察的很宽泛,答案不是唯一的,往往考察多个方面,其实这个问题考察的是你是否真的掌握了Java,对基础知识点的理解是否真的很清楚。是否掌握主要的模块和运行 原理等,同时也会对你接下来的答案进行深究,要回答这个问题我们需要对java语言的特点做个汇总,主要分为以下几点:平台无关性(一次编译到处运行)GC (垃圾回收机制,真因为有GC的存在Java就不用像C或C++那样手动的去释放内存了)语言特性 (泛型,反射,lumda表达式)面向对象 (封装,继承,多态)类库(java

2021-09-20 12:37:54 1656

原创 Hash索引

Hash索引有些数据库的存储引擎还支持Hash这个数据结构来作为其索引。Hash结构想必大家已经非常熟悉了,这是根据Hash函数的运算,只需一次定位,便能找到需要查询数据所在的头。不像B+索引先从根节点再到非叶子节点再到叶子节点这样才能访问到我们的数据,这样呢可能会经过多次的IO访问,所以呢Hash索引的效率理论上要高于B+树索引如图所示,比如说我们要查找 叫 Sandra Dee 的这么一个人,那么根据Hash函数对key Sandra Dee 的运算只需一次我们便能定位到 152 号头,就是15

2021-09-20 12:36:22 1280

原创 BTree简介

B Tree接下来讲B tree 平衡多路查找树如果每个节点最多为M的孩子,那么这样的树为M阶B树。咋们可以看到上图为3阶B树的样子,当然现实中讲的索引每个节点的孩子的树上限呢,肯定是远大于3的。每个存储块中包含着关键字还有指向孩子的指针,那么最多能有几个孩子取决于每个存储块的容量,以及数据库 的相关配置,所以通常情况下这个m是很大的。咋们想来看看B Tree的特征:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Pn3YOipG-1632112341664)(ms图

2021-09-20 12:33:15 1111

原创 B+树简介

B+树B+Tree是B树的变体,其定义基本与B树相同,除了:非叶子节点的子树指针与关键字个数相同(B树的非叶子结点,它的关键字像这里的3阶树有两个,而我们的B树则有3个 (5,10,15)跟指针的个数(p1,p2,p3)是一样的,这表明了B+树能存储更多的关键字)非叶子节点的子树指针P[i],指向关键字值[k[i],k[i+1])的子树(如下图,这里我们的K[i]假设是10,那么k[i+1]就等于20,那么可以看到10 对应的子树它的值(10,15,18)均小于k[i+1]这里是20,均大于

2021-09-20 12:31:01 158 1

原创 H5微信授权登入(后台Java )

最近做一个小工具,通过公众号菜单打开。页面使用H5来写的。需要用户通过菜单打开小工具的时候要求用户授权微信信息,进行登入。接下来说说大致步骤吧,其实微信公众号的开发文档介绍得很详细。微信公众号开发文档链接:https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html具体步骤:1 第一步:用户同意授权,获取code (前端)2 第二步:通过code换取网页授权access

2021-07-21 15:42:28 1818 1

转载 echarts可左右滑动折线图案例

今天做曲线图,x轴的数据太多。就想到用可以左右滑动的图表来完成。但是不知道怎么设置属性才能使左右可以平移滑动。最后找到了这位兄弟的案例,感谢。<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,max

2021-07-20 15:44:31 2234 1

原创 分布式和集群的区别 (例子)

小饭店原来只有一个厨师,切菜洗菜备料炒菜全干。后来客人多了,厨房一个厨师忙不过来,又请了个厨师,两个厨师都能炒一样的菜,这两个厨师的关系是集群。为了让厨师专心炒菜,把菜做到极致,又请了个配菜师负责切菜,备菜,备料,厨师和配菜师的关系是分布式,一个配菜师也忙不过来了,又请了个配菜师,两个配菜师关系是集群...

2021-07-20 11:05:41 83

原创 实现内网穿透的两种方式

实现内网穿透的两种方式ngrok 使用下载www.ngrok.com或者https://dashboard.ngrok.com/get-started/setup双击ngrok.exe文件ngrok authtoken 2CZJkTcaAAXzRJx53AnD_6aVs8BBAaybUUpSMTxBCC2CZJkTcaAAXzRJx53AnD_6aVs8BBAaybUUpSMTxBCC 是授权码,在https://dashboard.ngrok.com/get-started/setup

2021-06-16 11:52:56 558

原创 网络基础知识讲解

网络基础知识讲解前言:现在很多程序员不太注重网路知识的理解,因为编程的时候很多时候不用我们来编写Scoket这些东西的,并且底层服务很好的进处理了数据包的解析,所以貌似网络方面的知识是不用我们去关心的,这就实际上类似于框架底层的东西平时能满足我们的时候呢,我们并不太去关心他们。但要真的出了问题比如性能没办法满足我们的需求的时候,这时如果不熟悉底层的话,我们往往束手无策,此种情况同样适用于网络,...

2020-03-23 12:03:14 441

原创 ElementUI分页组件的基本使用

使用ElementUI的分页组件1 官网:http://element-cn.eleme.io/#/zh-CN2 使用步骤:第一步:创建vue的基本页面&amp;lt;!DOCTYPE html&amp;gt;&amp;lt;html lang=&quot;en&quot;&amp;gt;&amp;lt;head&amp;gt; &amp;lt;meta charset=&quot;UTF-8&quo

2018-12-07 22:59:14 7392

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除