随笔分类 -  mysql

foreach 和 数据库批量执行 效率比较
摘要:第一种写法: foreach 批量插入 20W数据,1000条提交一次 @ApiOperation(value = "单线程,800批量插入,10W条,简单数据,耗时月4秒",notes="TPS约2.5W") @RequestMapping(value="insert/singleThreadBa 阅读全文

posted @ 2022-07-15 22:07 zhangyukun 阅读(896) 评论(0) 推荐(1)

mysql update 取值问题和 not in ,!= 不会查询出 空值
摘要:update 取值问题 如果 有两个 字段 a,b 并且 初始 a=0,b=0 update set a=100,b=a+1 的结果是 a=100,b=101 update set b=a+1,a=100 的结果是 b=1,a=100 测试于 mysql 8.0.25 ,和 5.6.43 not i 阅读全文

posted @ 2022-04-23 11:59 zhangyukun 阅读(212) 评论(0) 推荐(0)

mysql JSON格式和 虚拟列
摘要:衍生列分为两种类型:stored和virtual。stored即实际存储数据的,而virtual是不存储列上的数据的。 但是两种都可以创建索引。默认是 virtual。 虚拟列: alter table t_people add phone VARCHAR(20) generated always 阅读全文

posted @ 2021-08-23 09:31 zhangyukun 阅读(621) 评论(0) 推荐(0)

mysql 编码问题
摘要:Cause: java.sql.SQLException: Incorrect string value: '\xF0\xA1\x90\x93\xE6\x9D...' for column 'content' at row 141; uncategorized SQLException; SQL s 阅读全文

posted @ 2021-07-16 11:05 zhangyukun 阅读(273) 评论(0) 推荐(0)

开窗函数 over 和分组函数和分析函数
摘要:首先说明mysql 8.0 以前不支持,oracle hive 支持 先说说分组, sql 里面 使用 group by 分组,分组以后会吧分组的 值相等的几行放到一行。行数变少。 我们先假设 user 表 有用户的名字,和所属部门 例子:select name,deptno from user g 阅读全文

posted @ 2021-06-21 16:57 zhangyukun 阅读(828) 评论(0) 推荐(0)

navicat for mongodb激活 工具和 激活流程
摘要:下载地址: 链接:https://pan.baidu.com/s/190glDHaFBd_Fcw2zyIZUCg 提取码:wpd6 备注:上面的 软件 是英语版本,下面选语言的时候选中英语。 备注2:破解软件win10 认为有毒,所以 需要 关闭 navicat for mongodb 12,又叫做 阅读全文

posted @ 2020-04-10 12:18 zhangyukun 阅读(6179) 评论(1) 推荐(0)

max_allowed_packet 作用
摘要:max_allowed_packet : 一statment 语句能包含的 类容数量。 如果报出 超过这个值那 ,那么把这个 参数改大 ( 某个版本的mysql 默认 1 kb ) 阅读全文

posted @ 2020-01-10 14:57 zhangyukun 阅读(3934) 评论(0) 推荐(0)

数据库的死锁原因 和 处理办法
摘要:数据库的死锁: 和 java的 死锁类似 ,条件 ,两个事务(线程) ,事务1 和事务2 ,事务1 要拿到 了 锁a ,等待 锁 b ,事务2 拿到了 锁b ,等待锁a。 这时候就死锁了。 备注: java 我们很明显的 知道什么时候加的锁什么时候释放锁,比如 synch 方法( 进入方法前获取锁, 阅读全文

posted @ 2019-07-25 17:52 zhangyukun 阅读(1408) 评论(0) 推荐(0)

聚簇索引
摘要:聚簇索引: 把数据和索引放在一起的方式叫做聚簇索引。因为数据和索引在一起,查到了索引就查到了数据。和聚簇索引相对应的叫做非聚簇索引,也叫做二次索引,我们一般的索引都是二次索引,索引里面存放的是 主键id。需要通过主键id去二次查找。 一个表只能有一个聚簇索引,并且只能建立在唯一字段上,一般都是主键列 阅读全文

posted @ 2019-07-23 17:25 zhangyukun 阅读(1217) 评论(0) 推荐(0)

mysql innodb 的 逻辑存储结构
摘要:如上图: innodb 的 逻辑存储单元分成 表空间,段,区,页 4个等级 默认情况下,一个数据库 所有变共享一个 默认的表空间(tablespan)。可以指定每个表一个表空间。 一个表空间管理着 多个 segment( 段 ),不固定个数 一个段管理着多个区( extent ),并且一个区是一个 阅读全文

posted @ 2019-07-09 22:00 zhangyukun 阅读(351) 评论(0) 推荐(0)

btree b+tree 的关系
摘要:btree: 平衡二叉树 b+tree:平衡和二叉树的变种,只在叶节点存储数据。 mysql 索引使用的数据结构是 b+tree。 阅读全文

posted @ 2019-07-06 20:47 zhangyukun 阅读(119) 评论(0) 推荐(0)

事务一致性理解 事务ACID特性的完全解答
摘要:A 原子性 事务管理者多个小操作,他们同时完成或者同时不完成就是原子性 C 一致性 一致性,是一个很相对的,很主观的概念, 一致性 描述的是 事务 从一个一致的状态变成 另一个一致的状态。 一致性需要 AID 的 特性来保证,但是 还和我们的逻辑相关。 一致性是数据库事务的特性,也就是说一个事务应该 阅读全文

posted @ 2019-07-06 01:23 zhangyukun 阅读(1275) 评论(0) 推荐(0)

mysql 主从复制 配置
摘要:mysql 的 默认配置文件在 /etc/my.cnf 1 修改主库 配置文件: 设置 服务id,并且开启二进制日志文件。 server-id=1 log-bin=mysql-bin 2重启服务:service mysqld restart; 3 连接mysql创建用户,和授权: CREATE US 阅读全文

posted @ 2019-05-09 17:38 zhangyukun 阅读(116) 评论(0) 推荐(0)

mysql 索引优化 性能调优 锁
摘要:1 检查mysql 是否安装 rpm -qa|grep -i mysql 2 ntsysv 查看和设置开机启动列表 3 mysql 在 centos 上默认 的数据目录是 /var/lib/mysql 4 mysql 默认 安装配置文件在 /etc/my.cnf 5 mysql 命令所在目录 /us 阅读全文

posted @ 2019-05-03 21:43 zhangyukun 阅读(243) 评论(0) 推荐(0)

mysql异常 : The driver has not received any packets from the server.
摘要:异常: 结论:域名写错了或报这个异常 阅读全文

posted @ 2019-04-16 09:54 zhangyukun 阅读(1470) 评论(0) 推荐(0)

spring propagation 事务传播机制
摘要:spring 事务 传播机制 描述的 事务方法直接相互调用,父子事物开启,挂起,回滚 等的处理方式。 绿色的 那几个 我认为比较重要。 1 , @Transactional(propagation=Propagation.REQUIRED) 默认值 等于 @Transactional 有父方法传递过 阅读全文

posted @ 2019-04-15 14:44 zhangyukun 阅读(698) 评论(0) 推荐(0)

mysql 视图 安全性( mysql 表能读,但是视图不能读问题 )
摘要:安全性: 有两个选项 Definer:定义者 , 定义者有什么权限 ,访问视图的人就有什么权限 Invoker: 调用者 ,根据调用这个视图的当前用户来决定 有什么权限 采坑: 项目中有个复杂查询。1050 多行格式化后的视图sql。创建视图默认的安全性是 Definer ,也就是定义者有什么权限, 阅读全文

posted @ 2019-04-15 11:10 zhangyukun 阅读(591) 评论(0) 推荐(0)

关于mysql 的 autoCommit 参数
摘要:首先描述一下这个参数的作用。 这个参数 默认是开启的。 开启以后再命令敲的sql 会自动提交。如果关闭,就必须手动 commit。 查看 这个 自动提交状态。 SELECT @@autocommit; 零时修改这个素心 set @@autocimmit = 1; 全局修改:可以改 mysql.cnf 阅读全文

posted @ 2019-04-12 14:00 zhangyukun 阅读(988) 评论(0) 推荐(0)

Illegalmixofcollations (utf8_unicode_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT)foroperation '= 连表查询排序规则问题
摘要:两张 表 关联 ,如果 join的字段 排序规则 不一样就会出这个问题 。 解决办法 ,统一 排序规则。 在说说区别,utf8mb4_general_ci 更加快,但是在遇到某些特殊语言或者字符集,排序结果可能不一致, utf8mb4_unicode_ci 更加精确。一般来说我们 更加关注 排序方式 阅读全文

posted @ 2019-04-01 16:16 zhangyukun 阅读(199) 评论(0) 推荐(0)

好久没考虑过的 sql 注入
摘要:很多年没考虑 sql 注入了,毕业以后 使用mybatis #{ 参数的 语法 },这个 语法已经 做了防止 sql 注入的处理 。 看到同事写的 ${ 参数 },突然 想到这个问题 。 下面聊聊 sql注入。 总结 ${ 参数 } 里面带有的 任何参数 都会被直接拼接到sql 里面 。 #{ 参数 阅读全文

posted @ 2019-03-27 14:09 zhangyukun 阅读(86) 评论(0) 推荐(0)

导航