标签: 数据库

Qbian | 2022-09-21 | MySQL数据库后端相关

有哪些常见的数据库优化方法?

前言 面试官:敖丙你简历上写了你会数据库调优,你都是怎么调优的? 敖丙:加索引。 面试官:还有么? 敖丙:没了。 面试官:我们公司的门你知道在哪里吧,自己走还是我送你? 哈哈开头这个场景是我臆想的一个面试场景,但是大家是不是觉得很真实,每个人的简历上但凡写到了数据库,都会在后面顺便写一句,会数据库调优。 但是问题就来了,面试官一问到数据库调优的,大家就说加索引,除了加索引大家还知道别的么? 或者索引相关的点你全部都知道么?聚簇索引,非聚簇索引,普通索引,唯一索引,change buffer,表锁、[行锁](https://www.zhihu.com/search?q=%E8%A1%8C%E9%94%81&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2...

 939 |  2 |  1 MySQL数据库

gOod mornIng | 2022-06-29 | 数据库

利用kettle实现数据库之间的数据同步

利用kettle实现数据库之间的数据同步 如果你需要做不同数据库之间的数据迁移或者抽取部分数据到另一个数据库,并实现定时数据同步(非实时),那么kettle是一个很好的选择。 以mysql数据库— oracle数据库的定时同步作为案例: 一、工具安装和环境准备 1. 安装mysql数据库和oracle数据库 2. 下载pdi-ce-8.2.0.0-342 3. 打开目录下data-integration\Spoon.bat ,即可打开keetle软件 二、 搞清楚数据抽取需求 我例举了以下几点: 1. 单表对单表抽取时,抽取数据的mysql数据库表和oracle的表是否一致; 2. 多表对单表抽取时,根据业务需求,写相应sql,将查找出来的数据抽取到相应数据到相应数据库中。 3. 是否做定时,怎么定时。 4. 全量抽取 or 增量抽取。 案例需求:从mysql抽取数据到oracle,根据业务需求,在mysql写sql,增量抽取其数据到Oracle中,实现按天定时抽取。 备注:(按月增量),查询当前月份为全量抽取,非当前月份数据增量抽取。例...

 379 |  4 |  1 数据库

晚风 | 2021-11-29 | MySQL数据库后端相关

一个线上SQL死锁异常分析:深入了解事务和锁

引发死锁的原因是什么?如何避免?本文详细介绍了和死锁有关的知识点,通过深入分析MySQL事务和锁的机制,结合案例背景,找到了问题的所在,并梳理了解决方案,详解其原理。希望对同学们有所启发。 一 背景 最近线上消费MetaQ的服务频繁报SQL死锁异常,虽然最终可以基于事务自动回滚和逻辑重试保证最终正确性,但若一直放任不管,海量报警日志会掩盖真正需要紧急处理的异常,同时频繁回滚也会降低消费端的吞吐量。个人通过分析线上服务日志、MySQL死锁日志、梳理MySQL在RR级别下的锁机制,找到了真正的问题所在,并对业务处理逻辑进行了优化,特在此整理出来,互相学习提升,如果文中有错误的地方欢迎指正。 二 知识储备 正所谓“工欲善其事,必先利其器”,在具体介绍CASE背景和解决方案前,先对需要系统了解的知识点进行详细介绍,以便大家能够快速理解解决方案。 死锁通常是因为两个及以上事务发生了死循环锁依赖,此时不得不回滚来释放锁,那么事务是个什么东西? 1 事务 为什么需要事务? 我们在业务实现时,经常需要保证某一批SQL能够具备ACID特性,如果没有事务,...

 1563 |  6 |  0 MySQL数据库