mysql
文章平均质量分 93
阿拉斯加大闸蟹
JDcloud;ByteDance;XueQiu;YiChe;CATARC
展开
-
服务MySQL压测线程池问题分析
一、问题5-15号晚上对 fundx-web prod 环境的整体集群做了一次压力测试,期间有数次数据库错误报警,如下:1. org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLException: wait millis 508, active 33, maxActive 100,creating .原创 2021-09-28 10:30:25 · 9384 阅读 · 0 评论 -
关于mysql设置查询超时时间
建议首先DataSource组件使用的是Druid,只做了连接池的封装,没有在ORM和JDBC层面做过多的封装而查询超时时间设置,是在mysql-connector-java底层是通过定时器Timer来实现statement timeout的功能,也就是说,对于设置了statement timeout的sql,将会导致mysql创建定时Timer来执行sql因此对于这查询超时设置,只能够在正常的业务代码中进行配置(但是这个就要做到读写分离,要是写SQL配置了超时,那么server就会出现脏数据需原创 2021-04-15 11:51:41 · 10143 阅读 · 0 评论 -
mysql单元测试
embedded-db-junit:JUnit Rule for providing an embedded in-memory database for your testsmysql-connector-mxj:MySQL Connector/MXJ is a Java Utility package for deploying and managing a MySQL database.h2:H2 is an embeddable RDBMS written in Java.使用H2..原创 2020-12-01 14:26:18 · 2565 阅读 · 0 评论 -
mysql事务和一致性常见问题
.-' _..`. / .'_.'.' | .' (.)`. ;' ,_ `..--.__________.' ; `.;-'| ./ /| | /`.....原创 2019-10-18 17:03:24 · 1308 阅读 · 0 评论 -
mysql分表的三种方法(集群、卡顿表拆分、利用merge存储引擎来实现分表)
先说一下为什么要分表当一张的数据达到几百万时,你查询一次所花的时间会变多,如果有联合查询的话,我想有可能会死在那儿了。分表的目的就在于此,减小数据库的负担,缩短查询时间。根据个人经验,mysql执行一个sql的过程如下:1,接收到sql;2,把sql放到排队队列中 ;3,执行sql;4,返回执行结果。在这个执行过程中最花时间在什么地方呢?第一,是排队等待的时间,第二,sql的执行时间。其实这...原创 2016-08-04 12:24:48 · 361 阅读 · 0 评论 -
mysql优化思路
通过脚本,刷新观察mysql的status,观察是否有周期性故障活波动,一般由访问高峰或者缓存失效引起,家缓存并更改缓存失效策略,是失效时间分散或页面定时失,SHOW PROCESSLIST显示哪些线程正在运行。 您也可以使用mysqladmin processlist语句得到此信息。如果您有SUPER权限,您可以看到所有线程。否则,您只能看到您自己的线程mysql 开启慢查询日...原创 2016-08-04 12:25:37 · 717 阅读 · 0 评论 -
Myisam索引和Innodb索引的区别
首先你要知道;无论是Myisam和Innodb引擎,如果在建表的时候没有显示的定义一行主键列的话,他内部都会自动创建一个隐藏的主键索引; 主键索引以外的索引假设称为次索引;首先Myisam和Innodb两个都是默认采用的btree索引,可以脑补一颗二叉树;myisam引擎的数据在物理磁盘上是按照顺序存储的,而innodb引擎的表数据是随机分布的; myisam的主键索引的叶子节...原创 2016-11-23 19:38:36 · 546 阅读 · 0 评论 -
mysql优化小技巧(消除磁盘碎片、sql的化大为小,反向聚合)
碎片整理:mysql数据一开始是在磁盘上顺序存放的,如果数据表有频繁的update改动,那么数据就会形成很多碎片,拖慢速度和不利于索引;优化碎片有两种方式:alter table user engine innodb;其实user这个表原先也是innodb的,这句话看上去没有任何意义,但是mysql会重新规整数据optimize table user; 也可以修复;碎片优化是一...原创 2017-01-06 14:06:41 · 493 阅读 · 0 评论 -
数据库两大必备神器:索引和锁底层原理是什么!
git:https://github.com/singgel?tab=repositories一、索引在之前,我对索引有以下的认知: 索引可以加快数据库的检索速度; 表经常进行INSERT/UPDATE/DELETE操作就不要建立索引了,换言之:索引会降低插入、删除、修改等维护任务的速度; 索引需要占物理和数据空间; 了解过索引的最左匹配原则; ...转载 2017-12-22 15:03:40 · 29211 阅读 · 0 评论 -
mysql数据库索引背后的数据结构和原理
摘要本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引,至于哈希索引和全文索引本文暂不讨论。文章主要内容分为三个部分。第...原创 2018-03-26 11:56:20 · 259 阅读 · 0 评论 -
canal实现mysql实时数据binlog同步
原理相对比较简单:canal模拟mysql slave的交互协议,伪装自己为mysql slave,向mysql master发送dump协议 mysql master收到dump请求,开始推送binary log给slave(也就是canal) canal解析binary log对象(原始为byte流)基本说明canal 1.1.1版本之后, 默认支持将canal serve...原创 2019-01-09 17:50:11 · 22547 阅读 · 7 评论 -
MySQL数据库自增主键可能产生的问题
自增主键 这种方式是使用数据库提供的自增数值型字段作为自增主键,它的优点是: (1)数据库自动编号,速度快,而且是增量增长,按顺序存放,对于检索非常有利; (2)数字型,占用空间小,易排序,在程序中传递也方便; (3)如果通过非系统增加记录时,可以不用指定该字段,不用担心主键重复问题。 其实它的缺点也就是来自其优点,缺点如下: (1)因为自动增长,在手动要插入指定ID的记录时会显得麻烦...原创 2016-11-25 14:36:53 · 3448 阅读 · 0 评论 -
《mysql学习》-- explain执行计划
mysql参考:MySQL执行计划解读 mysql explain执行计划 id select_type table type possible_keys key key_len ref rows Extra explain执行计划使用explain查看,尽量优化sql使rows尽量小,因为查询的时候...原创 2017-11-20 18:15:47 · 409 阅读 · 0 评论 -
mysql的规范,经验之谈
一、基础规范【强制】使用InnoDB存储引擎解读:InnoDB存储引擎是MySQL默认存储引擎,支持事务和行级锁,并发性能更好,CPU及内存缓存页优化使得资源利用率更高【强制】使用utf8字符集,如果有字段需要存储emoji表情之类的,则需要将字段或表设置成utf8mb4解读:万国码,无需转码,无乱码风险,节省空间,utf8mb4向下兼容utf8【强制】数据表、数据字段必须加入中文注释...原创 2017-06-06 13:38:10 · 4147 阅读 · 0 评论 -
mysql in查询的执行过程
现在有两个表,table1和table2,table1有1千万数据(id 主键索引),table2有三条数据(uid字段 3,5,7);select * from table1 where id in ( select uid from table2 );眨眼一看感觉这条语句应该很快;可能你会一厢情愿的以为 先执行括号里面的语句,然后在执行外层的select;外层的select用上...原创 2017-03-21 09:23:17 · 5172 阅读 · 2 评论 -
ETL实现mysql之间不同表结构数据迁移
https://github.com/singgel?tab=repositories1.如何从旧系统向新系统迁移数据(表结构变化很大)https://bbs.csdn.net/topics/340241541(典型的数据迁移需要做的事,ETL是一套理论,可以使用专业的etl工具,或者用存储过程实现)2.QQ群Java架构/分布式群号:468897908(最简单的用ssis...原创 2018-06-07 17:16:05 · 5948 阅读 · 0 评论 -
java.sql.SQLException: java.lang.ClassCastException: java.math.BigInteger cannot be cast to java.lan
换个jar包就好了原创 2018-06-29 14:00:27 · 4771 阅读 · 4 评论 -
mysql 大数据量分页优化
假设有一个千万量级的表,取1到10条数据;select * from table limit 0,10;select * from table limit 1000,10;这两条语句查询时间应该在毫秒级完成;select * from table limit 3000000,10;你可能没想到,这条语句执行之间在5s左右;为什么相差这么大?可能mysql并没有你想的...原创 2018-08-15 14:25:03 · 279 阅读 · 0 评论 -
MySQL挑战:建立10万连接
数据库备份与还原把数据库mysql备份到家目录下命名为mysql.sqlmysqldump -u root -p mysql > ~/mysql.sql 把web.sql导入数据库webmysql -u root -p web < ~/web.sql翻译 2017-06-20 10:44:50 · 344 阅读 · 0 评论