mysql Join原理
1.概述MySQL的JOIN原理是基于索引和算法的。在执行JOIN查询时,MySQL会根据连接字段上的索引来查找匹配的记录。 这种算法在链接查询的时候,驱动表会根据关联字段的索引进行查找,当在索引上找到了符合的值,再回表进行查询,也就是只有当匹配到索引以后才会进行回表。 在进行JOIN查询时,MySQL还采用了一些优化策略来提高查询性能,例如使用嵌套循环连接算法(Nested-Loop Join)和索引优化技术。 12嵌套循环连接算法按照指定的连接方式执行查询,不会自己选择驱动表。当连接字段上有索引时,MySQL会使用索引来加速查找过程 2.表结构定义12345678910111213141516171819202122232425CREATE TABLE `t2` ( `id` int(11) NOT NULL, `a` int(11) DEFAULT NULL, `b` int(11) DEFAULT NULL, PRIMARY KEY (`id`), KEY `a` (`a`)) ENGINE=InnoDB; drop procedure idata;deli...
Mysql 笔记
1. mysql的日志1. redo log当一条记录需要进行更新的时候,InnoDB引擎先把记录写到redo log 里面,然后更新内存(磁盘中记录的数据记录此时没有真正修改。当内存数据页跟磁盘数据页内容不一致的时候,我们称这个内存页为脏页。内存数据写入到磁盘后,内存和磁盘上的数据页的内容就一致了,称为干净页),此时更新就完成了。InnoDB引擎会在适当的时候,将操作记录更新到磁盘里面,这个更新会挑选系统空闲的时候做,称为flush redo log是固定大小的,比如可以配置为一组4个文件,每个文件大小是1GB,那么总共就可以记录4GB的操作。每次从头开始写,写到末尾就又回到开头循环写,如下图所示 write pos是当前记录的位置,一边写一边后移,写到第 3 号文件末尾后就回到 0 号文件开头。checkpoint 是当前要擦除的位置,也是往后推移并且循环的,擦除记录前要把记录更新到数据文件write pos 和 checkpoint 之间的是还空着的部分,可以用来记录新的操作。如果 write pos 追上 checkpoint,表示满了,这时候不能再执行新的更新,得停下来...
Spring 容器启动全流程
Spring 容器启动全流程 1. 入口:创建容器1new AnnotationConfigApplicationContext(Class<?>... componentClasses) 构造方法内部依次执行三个步骤: 1this() → register(componentClasses) → refresh() 2. this() — 初始化 Reader 和 Scanner2.1 创建 AnnotatedBeanDefinitionReader1this.reader = new AnnotatedBeanDefinitionReader(this); 内部调用: 1this.conditionEvaluator = new ConditionEvaluator(registry, environment, null); 1AnnotationConfigUtils.registerAnnotationConfigProcessors(this.registry); 注册了 Spring 框架需要使用的类的 BeanDefinition(...
windows 配置 claude 接入第三方API
1. 科学上网环境想要使用 Claude Code 必须有科学上网环境,即使使用第三方 API,Claude Code 也要求先登录。所以没有科学上网环境的话,后面的步骤也无法进行 2. 安装claude参照claude官方文档 使用WinGet方式进行安装比较方便 1winget install Anthropic.ClaudeCode 3. 配置环境变量 在 PowerShell 中配置第三方 API 的环境变量信息(临时方案,仅本次生效) 12345$env:ANTHROPIC_BASE_URL="your_base_url"$env:ANTHROPIC_AUTH_TOKEN="your_api_key"$env:ANTHROPIC_MODEL="your_model_name" 配置系统环境变量 4. 网页登录claude即使配置了第三方 API,Claude Code 也要求你登录账号后才可以使用,只不过登录后选择免费计划就可以了,不消耗 Anthropic 官方的 API 额度。建议选择谷歌邮箱...
VECTOR使用记录
1. 为什么使用vector我的自托管服务器使用UNRAID系统。本身的日志信息存储在内存中,发生意外宕机的情况就无法追溯日志了。 但是它提供了对接外部syslog服务器的功能。于是便打算将日志推送到远程服务器 2. 实施方案 由于UNRAID 自带的syslog 远程服务器配置,只支持简单的 ip(url) 和 port 配置。而云平台上传日志基本都需要鉴权,所以无法直接上传日志到云平台 使用 VECTOR (一款轻量级、超快速的用于构建可观测性管道的工具) 进行数据接受,并进行转发 云日志平台的选择。在vector支持的平台中,papertrail 和 better stack 提供的免费服务额度比较好用 云日志平台的免费服务基本只提供2-7天的日志存储,所以可以在转发一份日志到S3平台 3. vector 部署vector可以自托管部署,可以部署在自己的服务器上,也可以使用railway的免费容器服务进行部署。部署在自己的服务器上比较简单,直接使用官方的docker镜像进行部署就好了。我这边提供下部署在railway上的方案。 3.1 新建GitHub项目新建一个gi...
厦门旅游攻略
1. 厦门地图 2. 到厦门路线2.1 飞机飞机两小时左右。上海虹桥/浦东 - 高崎T4 2.2 高铁高铁7小时左右。上海虹桥- 厦门北 去厦门飞机更便宜省时间。回来机票贵,可以坐高铁 机场到市区: 空港快线 15/人 。打车40(网约车。不要碰出租车) 3. 旅游路线day1高崎国际机场 -> 酒店 -> 厦门植物园(南门进有电梯到山顶) -> 钟鼓索道 -> 厦门大学(提前预约) -> 南普陀寺(可选) -> 白城沙滩 -> 沙坡尾 day2东渡客运码头南门坐船(屿见厦门小程序预约) -> 鼓浪屿(三丘田码头) -> 最美转角->晴天墙->八卦楼(管风琴艺术中心 联票90)(可选) -> 日光岩 -> 淑庄花园(30门票) -> 三丘田码头出岛-> 八市 -> 中山路 -> 和平码头 day3海上列车(地铁一号线) -> 集美学村站(租电动车) -> 龙舟池 -> 嘉庚公园 -> 陈嘉庚纪念馆-> 大社-> 十里...
Java 枚举json序列化展示
1. Java默认的枚举序列化springboot 的 jackson 进行枚举的序列化时候,默认是返回枚举的name属性。 12345public enum Gender { MAN(1,"男"), WOMAN(2,"女");}// 序列化结果:仅输出 "MAN" 或 "WOMAN" 的字符串形式。 12345678import com.fasterxml.jackson.databind.ObjectMapper; public static void main(String[] args) throws JsonProcessingException{ List<Gender> genders = List.of(Gender.MALE, Gender.FEMALE); ObjectMapper objectMapper = new ObjectMapper(); System.out.pri...
Mybatis xml中引用静态方法、常量或者枚举
一、引用静态方法(1)在ONGL中引用 12345678<select id="selectTest"><if test="@com.test.DateUtils@isLeapYear(year)==true"> select * from tableA</if><if test="@com.test.DateUtils@isLeapYear(year)==false"> select * from tableB</if></select> (2)在SQL中引用 123<select id="selectTest"> select * from tableA where year=${@com.test.DateUtils@getYear()}</select> 二、引用静态常量(1)在ONGL中引用 12345<select id='selectTest...
舟山旅游攻略
1. 舟山地图 2. 到舟山路线路线一大巴5小时。上海虹桥到沈家湾 路线二高铁到宁波,宁波2小时大巴到舟山(朱家尖) 3.旅游路线3.1 朱家尖 day1朱家尖蜈蚣峙码头(小布达拉宫) -> 保利自在海(看日落) -> 太阳下山去东沙 day2乌石塘(沙滩) -> 漳州湾(在漳州渔村里面) -> 舟山长乔海洋国际旅游度假区 舟山长乔海洋国际旅游度假区海燕公园 -> 雨林动物公园 -> 海豚湾水公园 -> 鲨鱼湾四季海水浴场 tips大青山景区(沙滩) 5点后免费南沙景区 3.2 普陀山day3朱家尖蜈蚣峙码头 -> 普陀山 -> 公交车(步行20min) -> 普济寺 -> 法雨寺 -> 善财洞、梵音洞 ->南海观音(16:00前要抵达) 普济寺来了就好 -> 多宝塔 从普济寺停车场附近“西天渡口”石碑心字石:山径入口的巨型“心”字石刻,记得走上去摸一摸沾福气圆通禅林:位于西天景区之顶,真正的隐土禅林,主殿供/奉/观/音/坐/像,可在此祈福...
openclaw 安装记录
1. 安装过程 安装nodejs 安装git 安装openclaw 1npm install -g openclaw@latest 2. 配置openclaw 运行引导命令 1openclaw onboard 会出现配置引导页面。所有选项后续都可以调整所以核心配置下 Model/auth provider (模型提供配置) 。其它的都可以选择跳过。如果使用的模型不是引导页面中支持的,还可以选择 Skip for now 。后续通过配置文件进行文本配置,后面会给到 阿里百炼 的例子配置操作示例: 配置项 建议配置 I understand this is powerful and inherently risky. Continue? 选择 Yes Onboarding mode 选择 QuickStart Model/auth provider 选择 Skip for now (稍后配置百炼模型) Filter models by provider 选择 All providers Default model 选择 Keep cu...
