自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(138)
  • 资源 (11)
  • 收藏
  • 关注

原创 join驱动表选择

从内存判断次数看来不论哪个作为驱动表结果都是一样的,但是考虑到扫描行数,在M和N大小确定的情况下,N小一些,整个算式的结果会更小。在决定哪个表做驱动表的时候,应该是两个表按照各自的条件过滤,过滤完成之后,计算参与join的各个字段的总数据量,数据量小的那个表就是小表。扫描表t2,把表t2中的每一行取出来,跟join_buffer中的数据做对比,满足join条件的,作为结果集的一部分返回。扫描表t2,把t2中的每一行取出来,跟join_buffer中的数据做对比,满足join条件的,作为结果集的一部分返回;

2024-04-10 10:52:24 868

原创 k8s 节点打污点

污点格式为“Key=Value:Effect”,Key和Value作为污点的标签,Value可以为空,Effect用于描述污点的效果。

2024-04-07 11:22:43 759

原创 显示文件/输出,前面/最后 n行

后n行tail -n前n行head -n针对文件head -n 5 file.txttail -n 5 file.txt针对输出| head -n 5| tail -n 5

2024-04-01 14:57:59 133

原创 ubuntu 20 虚拟机配置静态ip

在/etc/netplan/ 中得文件里(类似:01-network-manager-all.yaml)添加。addresses: [192.168.40.128/24] 就是自己设置的固定ip。其中gateway4: 就是。重新设置下ip和网关即可。

2024-04-01 14:56:11 449

原创 docker 常用指令

通过docker pull xuedongchen/controller:latest 可以拉取你的镜像。登录docker账号,输入账号密码,官网地址:hub.docker.com。其中controller是镜像名,latest是tag,表是版本。如果push失败被禁止,表示远端有相同的镜像名称,要修改tag。2.查看目前有多个dockers镜像(本地下载的)docker tag 旧镜像名 新镜像名。然后push本地镜像。会自动上传到你的仓库。

2024-04-01 14:52:14 478

原创 podman和docker 差别

综上所述,Podman 能够提供更好的安全性和管理灵活性,但缺少 Docker 的图像构建、发布、部署等流程。因此,在不同的场景中需要考虑特定的需求,选择适合的容器工具。

2024-04-01 14:51:20 621

原创 openshift和k8s的差别

另外,OpenShift 还提供了一些其他功能,如开源代码、CI/CD 管道、用户管理、环境隔离等,这些功能使 OpenShift 变得更加全面和易于使用。它提供了更丰富和自动化的功能,如自动化部署、构建、监控、日志记录等,使开发人员和运维人员能够更加专注于业务逻辑和应用程序的开发、测试和上线。相比之下,Kubernetes 只是一个容器编排和编排平台,它为容器化应用程序提供自动化部署、扩展、故障恢复和负载均衡等基本功能,但不提供比较高级别的功能,需要借助其生态系统中的工具和插件来实现。

2024-04-01 14:50:37 692

原创 kind+tidb

2.Temporary failure in name resolution(域名解析暂时失败)1.basic-tidb-0 一直启动失败 :CrashLoopBackOff。解决办法:将kind从0.10升级到最新版本1.8版本,重新开始操作。vm连接网络来回切换下,或者重启下虚拟机,暂时原因还没找到。1.安装kind,一定要使用最新版本!安装Docker-ce(社区版)二、操作,具体可参考tidb官网。3.安装kubelet。2.安装docker。安装阿里源gpg密钥。

2024-04-01 14:50:01 462

原创 OC与kubectl

综上所述,oc 针对 OpenShift 平台提供更加丰富的功能和统一的命令行风格。而 kubectl 则更加注重资源对象的管理和 Kubernetes 平台本身的设计理念。选择使用哪个命令行客户端工具,需要结合实际情况和工具实现的特定功能来选择。oc 和 kubectl 都是 Kubernetes 及其衍生产品中常用的命令行客户端工具,用于管理 Kubernetes 集群和资源对象。

2024-04-01 14:49:12 186

原创 k8s 安装

其实这三个的下载很简单,直接用apt-get就好了,但是因为某些原因,它们的下载地址不存在了。所以我们需要用国内的镜像站来下载,也很简单,依次执行下面五条命令即可。是不行的,因为这个阿里镜像站使用的ssl进行传输的,所以要先安装apt-transport-https并下载镜像站的密钥才可以进行下载。5.安装 kubectl,kubeadm以及 kubelet。直接在/etc/apt/sources.list里添加。前面依赖安装,可以参考docker安装。2.关闭 swap 内存。3.添加 k8s 镜像源。

2024-04-01 14:48:13 599

原创 k8s 常用指令

在 Pod 内的容器下次重启时,会检测到该 Annotation,进入诊断模式。注意如果 Pod 处于运行中,可以执行以下命令强制让容器重启。查看 Pod 内容器上次启动时的日志信息。可以加上-c 容器名,精确到具体容器。Pod 重建后会自动回到正常运行模式。查看 Pod 内当前容器的日志。12.查看pod中的容器。

2024-04-01 14:47:39 372

原创 k8s 基础入门

k8s中的namespace和docker中namespace是两码事,可以理解为k8s中的namespace是为了多租户,dockers中的namespace是为了网络、资源等隔离。k8s会请求底层云平台(阿里云,腾讯云、aws)上的负载均衡器(LB),将每个Node(IP+prot)作为后端添加进去,自建的云平台无法适配。pod.yaml方式创建pod,这种方式实际使用比较少,因为无法管理,无法扩缩容等等,通常通过deployment方式创建。deployment负责应用的部署、扩缩容、升级回滚。

2024-04-01 14:46:48 1325

原创 yaml 介绍

【代码】yaml 介绍。

2024-04-01 14:34:04 147

原创 k8s 经常操作指令

发现有个技巧:get、describe、edit ...操作指令后,都对应的相应的资源类型/资源。

2024-04-01 14:19:40 514

原创 紫光云的前世今生

2005年11月,3Com从华为购入2%的股份,从而控股华为3Com。2006年11月,3Com又购入剩余49%的股份,全资控股华为3Com。2016年,紫光股份收购华三51%的股份,成为其控股股东。华三又与紫光股份与惠普成立的其他公司共同组成了新华三。新华三 开始是2003年,华为与美国3Com公司成立合资公司华为3Com。3Com投资1.65亿美元占股49%2010年,3Com被惠普收购,华三并入惠普旗下。2023年,紫光集团收购新华三其余49%股份。

2024-04-01 14:15:02 164

原创 dlv安装

到go的path目录下的bin目录,找到dlv执行文件,cp到/usr/local/bin目录下。注意:dlv要和go的版本最好保持一致。

2024-03-30 13:37:40 204

原创 GOPROXY 代理设置

在1.3版本后,golang推出了go module 机制,同时发布了一个叫做 Module proxy protocol 的协议,通过这个机制,我们可以搭建go模块代理,最后通过GOPROXY变量以指引go命令在后续抓取模块的途径。,而且很可惜 proxy.golang.org 在中国无法访问。这也是我们依赖下载时一直timeout的原因。解决指令:(会话临时性),长久的可以在配置文件中配置。在命令行输入 go env -w GOPROXY=这里只需要我们将该变量设置为GOPROXY=

2024-03-30 13:35:08 1887

原创 go 快速入门

在Golang中,程序遇到defer关键字,不会立即执行defer后的语句,二是将defer后的语句压入一个栈中(拷贝当前变量值,不会随着后面变量值变化而变化),然后继续执行后面的语句。使用场景:如果你想关闭摸个使用的资源,可以在创建该资源时随手写上defer关闭该资源,因为defer有延迟执行机制(函数执行完毕再执行defer压入栈的语句)。切片和数组:切片是数组的引用,多个切片之前同一个数组,是共享存储的。切片有3个字段的数据结构:一个是指向底层数组的指针,一个是切片的长度,一个是切片的容量。

2024-03-30 13:34:12 854

原创 go 安装

【代码】go 安装。

2024-03-30 13:32:30 302

原创 golang json操作

【代码】golang json操作。

2024-03-30 13:30:59 86

原创 go mod命令介绍

拉取缺少的模块,移除不用的模块。将依赖复制到vendor下。在当前目录初始化mod。

2024-03-30 13:24:23 325

原创 go语言 私用仓库包下载

设置私有仓库,这样访问的时候,url前缀就不加proxy和sumdb。更加代码下载依赖包,自动更新mod文件。将依赖包复制到vendor目录中。

2024-03-30 12:09:41 766

原创 vitess sysbench性能测试

a) 将/usr/local/share/sysbench/common.lua 中相关的表的ddl执行注解掉,把创建表函数注释掉。2.2 数据测试 (执行10w条)2.1 数据准备(预热1w条)

2024-03-30 12:06:19 697

原创 vitess执行计划缓存 测试

在启动项中设置:gate_query_cache_size = 0。打开计划缓存,写的效率影响不大,但是读的效率提升近40~50%

2024-03-30 12:05:27 426

原创 vitess insert 代码分析

-3种执行方式:unsharded, sharded, insert-select,具体选择哪种方式,是通过ins.Opcode在构建执行计划阶段确定的值来进行判断的。--通过对值进行分片算法操作,得到相应的keyspaceIDs,后面会依据keyspaceIDs来进行分片划分,具体processPrimary分析在下面。--决定了具体执行的子类,更改后执行语句,变量值,以及涉及的表等。case *sqlparser.Delete: --删除。--构建执行类,后续的具体执行的子类,是由这里确定的。

2024-03-30 12:00:04 699

原创 HAProxy + Vitess负载均衡

如果 3 次检测为失败,则认为服务器不可用。make PREFIX=${/app/haproxy} SBINDIR=${/app/haproxy/bin} install # 将 `${/app/haproxy}` 和 `${/app/haproxy/bin}` 替换为自定义的实际路径。pidfile /opt/haproxy/pid # 将 HAProxy 进程的 PID 写入 pidfile。在执行vtgate-up.sh脚本时,执行vtgate-up-2.sh,vtgate-up-3sh。

2024-03-30 11:59:02 1583

原创 mysql8 功能特点

MySQL默认的存储引擎是InnoDB,而引入Secondary Engine,用来实现同时支持多引擎,在同一个MySQL Server上挂多个存储引擎,在支持InnoDB的同时,还可以把数据存放在其他的存储引擎上。全量的数据都存储在Primary Engine上,某些指定数据在Secondary Engine 上也存放了一份,然后在访问这些数据的时候,会根据系统参数和cost选择存储引擎,提高查询效率。在最新版本8.0.22上还支持了启动和停止某个Secondary Engine。1.查询缓存 删除了。

2024-03-30 11:57:21 178

原创 管理小技巧

1.人的思维真是有意思,做一个东西,时间越往后越文思泉涌,越能得出自己想要,但是往往带来的副作用是延期!所以要把deadline提前!(切身体会-ppt编写)

2024-03-30 11:51:10 111

原创 centos7 安装 postgresql

进入地址:https://yum.postgresql.org/repopackages.php鼠标放置红色框内,右击拷贝地址yum install 拷贝的地址例如:yum installhttps://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm安装完成后,查看yum列表,自己想安装哪个版本就安装哪个版本,这里装的是13输入/u...

2024-03-30 11:50:06 779 1

原创 个人职业规划

1.技术、证书之间的抉择?2021.3.31:取决于当前的经济情况,如需尽快的提升薪资水平,提升技术是主要渠道,等技术上来,薪资上来了。再考虑证书获取2.管理和技术,是一回事!考取证书是另外一回事(不急当下,但不可少,薪资到了立即就要做的事!)3.业务水平很重要!你工作的经历,决定你的业务水平,跳槽要规划好!...

2024-03-30 11:43:31 69

原创 MySQL5.7源码分析--优化

主要在mysql_execute_command中的execute_sqlcom_select函数进行。在此之前要通过select_precheck函数对表的select权限检查。优化主要分为prepare和optimize,然后exec执行。

2024-03-29 14:35:47 231 2

原创 MySQL5.7源码分析--解析

未命中,则进行sql解析,lex进行词法解析,yacc进行语法解析,生成解析树。然后调用mysql_execute_command函数进行优化和执行。1.获取网络包数据,拿到查询语句,放入thd->query。select语句会走的case COM_QUERY判断。2.先查询缓存,缓存命中直接返回结果,未命中则解析。功能集中在mysql_parse()函数中。查询缓存,命中直接返回。

2024-03-29 14:35:16 300

原创 MySQL5.7源码分析--指令分发

do_command函数主要通过dispatch_command函数进行指令分发操作。下面将以select语句为例,展示dispatch_command执行流程。

2024-03-29 14:34:39 108

原创 MySQL5.7源码分析--连接

这种命名管道设计更偏向于客户端-服务器通信,它们更像socket:除了用于通常的读写操作外,Windows命名管道也同时对server应用支持显式”passive”被动连接模式。> 在计算机世界,一个socket是一种内部进程通信形式,它被用于在相同主机上形成进程间的双向通信连接点(在本地系统上的一个物理文件)。mysql支持4种通信协议:TCP/IP协议、Unix Socket协议、Share Memory协议、NT管道。4.连接完成后,创建线程,加入全局线程调度,并进行连接处理,涉及以下函数。

2024-03-29 14:34:07 1033

原创 mysql5.7 源码分析--初始化

有部分系统变量需要在mysqld --initialize时使用,所以越早初始化越好,handle_early_options函数就是为了初始化这部分系统变量。将命令存储在sql_statement_names全局数组里,如SQLCOM_SELECT对应select。每个服务都应该有一个自己的UUID,如果没有的话,就创建一个。包括一些插件的初始化、默认存储引擎的初始化、最大连接数等。如所有线程的互斥锁初始化,线程缓存大小、日志名称等。删除tmp_table并初始化数据库级别的权限。

2024-03-29 14:33:00 689

原创 数据库中的 Field、 column

指数据字段,数据记录中已有定义的部分,例如数据库表中的一列,但一般特指某列某行(数据库里的特定一格)当我说field的时候,不仅要说特定格里的值还要说column name。指列,一列所有数据。

2024-03-29 14:28:48 182

原创 MySQL优化之外连接消除----空值拒绝

当tb1.col1>0的条件为true,tb2.col1>0为false时,无法满足空值拒绝了,所以最终这个语句只能采用left join进行连接。按照之前对空值拒绝的理解,第一个语句的where条件中有从表tb2的选择条件,且依据这个选择条件筛选得到的最终结果集中,可以看到,外连接中,从表的表连接列,tb2.id出现了null,因为tb2中并没有id=5的情况。当然,这个cond-->tb2.id可以换成其他的列,比如说tb2.col1>0。并没有将外连接转换为内连接,应该是条件写的并不完整,

2024-03-29 11:44:46 288

原创 数据库 逻辑优化,物理优化

物理优化:join optimize,如查询表之间是否有join的可能,如果可以join,该如何join:nested还是corss?再者驱动顺序,ab还是ba,这要去做代价分析,ab的cost多少,ba的cost多少;要去查询表的相关信息,比如多少列之类的。逻辑优化:prepare 语法解析,将sql语法解析成语法树,并进行优化,条件判断:有些条件是否可以去除,有些列是否可以不涉及等等, 等值消除,常量判断等等。来至《数据库系统实现》第五章。

2024-03-29 11:42:04 247

原创 条件下推,谓词下推

5.7和8.0 join优化时都调用cond_push()进行条件下推,在sql_optimizer.cc文件里。条件下推:将一些条件的判断 处理逻辑优化从sql层交给引擎层处理。where、having等等条件的下推:cond_push()索引index下推:idx_cond_push。比如select,update场景都会用到。

2024-03-29 11:40:54 65

原创 autocommit 与 begin/commit 优先级

begin/commit 比 autocommit优先级高!即使autocommit = 1,如果使用begin/commit语句,mysql仍会优先使用begin/commit命令控制被这组命令修饰的事务。

2024-03-29 11:39:07 114

win_flex_bison-latest.zip

flex.exe和bison.exe for windows

2021-06-25

UsbTreeView..zip 用于查看连接usb设备的信息

可以发现所有的usb接口的使用情况,并提供连接到您的计算机USB设备的所有属性信息

2019-09-19

adb.exe 工具 适用于windows调试

adb工具包是Google提供的安卓手机辅助工具包,起到调试桥的作用,借助这款工具,我们可以管理设备或者手机模拟器的状态。adb工具包起到了桥梁的作用,连接Android手机与PC端,让用户朋友在电脑上可以随心操作。 提供给了两个版本1.0.31和1.0.36

2019-09-19

html2word.zip

用python开发的,用来html转word,docx格式。python setup.py install,直接import使用

2019-06-06

commons-lang3-3.9-bin.zip

commons-lang3-3.9jar包,开发时会用到,亲自测试可用!

2019-06-06

WordToPDF.zip

工具用于word转pdf,简单方便,在windows下运行,直接使用exe调用指令就行!

2019-06-06

poi-4.1.0.zip java

Apache POI [1] 是用Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java程式对Microsoft Office格式档案读和写的功能

2019-06-03

PDFlib-9.2.0-MSWin32-C-C++.zip

pdflib是纯官方的开源代码和库,可以将数据生成pdf格式.纯官方未改动

2019-06-03

OpenCV-4.0.0.zip

包含 opencv-4.0.0的Windows lib dll 库,还有源代码,需要用cmake解包。 库在build里,源码在sources里,纯官方未改动。for C/C++

2019-05-22

libimobiledevice-Windows-ios-master.zip

libmobiledevice主要是用于和苹果手机交互的,客户获取到苹果手机基本信息、backup手机信息、pull手机信息一系列操作

2019-05-22

opencv-3.4.6.zip

包含 opencv-3.4.6的Windows lib dll 库,还有源代码,需要用cmake解包。 库在build里,源码在sources里,纯官方未改动。for C/C++

2019-05-11

空空如也

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

TA关注的人

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