SQL优化是数据库稳定高效的基础,那么日常开发中常见的SQL优化技巧有哪些呢? 一、回顾:MySQL的执行过程 回顾 MySQL的执行过程,帮助介绍如何进行SQL优化。 (1)客户端发送一条查询语句到服务器; (2)服务器先查询缓存,如果命中缓存,则立即返回存储在缓存中的数据; (3)未命中缓存后,MySQL通过关键字将SQL语句进行解析,并生成一颗对应的解析树,MySQL […]
SQL优化是数据库稳定高效的基础,那么日常开发中常见的SQL优化技巧有哪些呢? 一、回顾:MySQL的执行过程 回顾 MySQL的执行过程,帮助介绍如何进行SQL优化。 (1)客户端发送一条查询语句到服务器; (2)服务器先查询缓存,如果命中缓存,则立即返回存储在缓存中的数据; (3)未命中缓存后,MySQL通过关键字将SQL语句进行解析,并生成一颗对应的解析树,MySQL […]
一、问题是怎么发现的 系统是一个定时任务系统,需要定时执行业务代码,业务代码主要是访问MYSQL数据库和缓存进行操作,该开始启动,系统日志一切正常,但是运行一段时间到凌晨后,系统就自动崩溃了,java进程没有了,只留下了程序崩溃日志如下: cat: /proc/1/environ: Permission denied [admin@host-11-40-38-52 ~]$ […]
一、踩坑描述 写分页查询接口,order by和limit混用的时候,出现了排序的混乱情况 在进行第N页查询时,出现与第一前面页码的数据一样的记录。 二、问题 在MySQL中分页查询,我们经常会用limit,如:limit(0,20)表示查询第一页的20条数据,limit(20,20)表示查询第二页的数据。业务上我们通常也会在分页的时候加上排序 order by; 但是当l […]
最近在写代码时,发现一个分页的问题,查询的分页数据一直不正确,多次检查代码和搜索资料都没找到原因。如Mybatis版本问题?还是哪里分页没有正常使用? 故此,借助与ChatGPT,看下是否能帮我找出Bug? 下面是Java代码和Mybatis SQL: 看代码是觉得没啥不同,应该能正确分页查询数据才对,但是实际上查询分页数据不对。 接着把这段代码发给ChatGPT,问他分页 […]
一、背景 在预发环境中,由消息驱动最终触发执行事务来写库存,但是导致MySQL发生死锁,写库存失败。 com.mysql.jdbc.exceptions.jdbc4.MySQLTransactionRoll backException: rpc error: code = Aborted desc = Deadlock found when trying to get lo […]
一、系统介绍和问题描述 如何在Mysql中实现上亿数据的遍历查询?先来介绍一下系统主角:关注系统,主要是维护京东用户和业务对象之前的关注关系;并对外提供各种关系查询,比如查询用户的关注商品或店铺列表,查询用户是否关注了某个商品或店铺等。但是最近接到了一个新需求,要求提供查询关注对象的粉丝列表接口功能。该功能的难点就是关注对象的粉丝数量过多,不少店铺的粉丝数量都是千万级别,并 […]
这是遇到的第三次升级MySQL8 Java驱动的“坑”之三。分享一些经历,希望可以帮你少掉进坑里。 之三如下: ①最近有伙伴悄悄升级了Java MySQL8驱动,上线之后业务报障:说某某功能怎么提交不了,而且还提示报错。接到消息,立马查看。排查是某个查询接口报错,于是进一步排查,发现这生产日志打印如下: 可以从上面的异常日志发现,应该是某个字段类型不匹配造成的 […]
前言 旧项目MySQL Java升级驱动,本来一切都好好的,但是升级到8.x的驱动后,发现入库的时间比实际时间相差13个小时,这就很奇怪了,如果相差8小时,那么还可以说是时区不对,从驱动源码分析看看 1. demo pom依赖,构造一个真实案例,这里的8.0.22版本😋 <dependencies> <dependency> <groupId& […]
数据库备份是保障猪八戒数据安全必不可少的一部分,在猪八戒MySQL数据库上我们通常进行热备和binlog备份,目的是能回溯、恢复企业生产数据。其中基于binlog和备份恢复是日常数据库运维中一定会遇到的操作,本文通过一次案例介绍如何在误删除之后基于已有备份和binlog恢复数据以及什么样的备份是可以进行数据恢复的。 背景: MySQL5.6.40,库比较小,row+gtid […]
Tech 导读 本文重点介绍了MySQL数据库性能优化的常见手段、底层架构实现原理、互联网医院建设过程中的几个典型案例;读者可以通过本文了解到日常开发中的注意事项、数据库性能优化的解决思路、如何规避隐藏规则带来的风险等几个方面的知识。 01 数据库性能优化的原因和措施 在今年的敏捷团队建设中,我通过Suite执行器实现了一键自动化单元测试。Juint除了Sui […]
一 背景 最近项目组在版本迭代时,组件也要进行升级,此时涉及到MySQL驱动包jdbc的版本升级。即从5.1.X升级到8.0.X。 然鹅在上线之后就出现了一部分兼容性问题,造成了一次“事故”:调用接口出现“系统错误”。查看日志:java.time.LocalDateTime cannot be cast to java.util.Date,也就是出现时间转换异 […]
BeanUtils (1) BigDecimal (1) CDC (1) ETL (1) github (1) heap (1) LLaMa (1) MAT (5) MDM (1) Sora (1) TCP (1) 业务图 (1) 企业应用 (1) 停机迁移 (1) 内存泄露 (4) 协议 (1) 可用性 (1) 基础设施层 (1) 堆内存 (1) 堆外存 (1) 大事记 (1) 实时协作 (1) 对象转换 (1) 应用架构 (1) 异常 (3) 技术规范 (1) 技术选型 (4) 提示工程 (1) 数据交换 (1) 数据共享 (1) 数据双写 (1) 日期 (1) 时间 (1) 时间线 (1) 术语 (1) 架构方案 (14) 流程图 (1) 精度 (1) 线程模型 (1) 经验分享 (1) 网络编程 (2) 解耦 (1) 软件复杂性 (1) 软件工程 (1) 重构 (4) 重试 (1) 隔离级别 (1) 集群扩容 (1) 领域层 (3) 领域模型 (1)
COPYRIGHT © 2014-2024 verysu.com . ALL RIGHTS RESERVED.
Theme Kratos Made By Seaton Jiang