随笔分类 -  mysql

摘要:很多业务场景都需要防重复提交,比如提交订单,抢券,组团等场景。 在这里,主要陈述下一般的防重复提交方式。具体归类,会分为新增场景,更新场景。重复提交可以分为几种类型,比如: 短时间连续重复提交; 不定时间重复提交; 新增场景 新增场景无论是短时间连续重复提交还是不定时间重复提交,都是相似的解决方案。 阅读全文
posted @ 2020-07-15 11:28 飞昂之雪 阅读(787) 评论(0) 推荐(0)
摘要:在MySQL中,默认的隔离级别是RR。 事务的隔离级别如下所示: 隔离级别 脏读 可重复读 幻象读 RU 存在 存在 存在 RC 不存在 存在 存在 RR 不存在 不存在 存在 Serializable 不存在 不存在 不存在 脏读:当前事务可能读到其它事务未提交的数据。 可重复读:当前事务内,多次 阅读全文
posted @ 2020-07-13 17:08 飞昂之雪 阅读(348) 评论(0) 推荐(0)
摘要:先做抽象定义如下: 定义一条数据记录为一个二元组[key, data],key为记录的键值,对于不同的数据记录,key是互不相同的;data为数据记录除key外的数据。 B-tree的特点: d为大于1的一个正整数,称为B-Tree的度(度可以理解为空间一定的条件下内节点的有效容量,与key大小和d 阅读全文
posted @ 2018-06-29 17:52 飞昂之雪 阅读(164) 评论(0) 推荐(0)
摘要:mysql的逻辑架构图如下: 当开启查询缓存时,mysql会将查询结果缓存到查询缓存区域,结果对应的key是使用查询语句,数据库名称,客户端协议的版本等因素算出的一个hash值。 在下次查询时,根据一些条件计算出hash值,如果能与引用表中的数据相关联,则表示查询命中。 可以通过如下sql查看查询缓 阅读全文
posted @ 2018-06-28 14:10 飞昂之雪 阅读(191) 评论(0) 推荐(0)
摘要:慢查询: https://blog.csdn.net/leshami/article/details/39829605 日志组成: https://blog.csdn.net/leshami/article/details/39801867 日志提取: https://blog.csdn.net/l 阅读全文
posted @ 2018-06-28 11:32 飞昂之雪 阅读(165) 评论(0) 推荐(0)
摘要:在一般的查询中,都要求尽量围绕创建的索引进行。针对索引,常用的有主键索引,单列索引,组合索引,索引合并等。 在评价索引时,关键看区分度。索引区分度=索引列唯一值/表记录数。 如果在区分度很低的列上建索引,那索引扫描的rows会相当大,该索引的性能表现就基本接近全表扫描了。 主键索引 是一种特殊的唯一 阅读全文
posted @ 2018-06-03 12:34 飞昂之雪 阅读(184) 评论(0) 推荐(0)
摘要:如下表结构: 在执行联合查询时,如下2种写法的执行计划有明显差别。 第一种: 第二种: 两者的差别在于order by的表字段不同。 看执行计划: 第一种的执行计划: 第二种的执行计划: rows的差别忽略,因为数据在不停的新增过程中。 第一种方式有主键索引,不需要使用临时表。第二种全表扫描,使用临 阅读全文
posted @ 2018-06-02 13:22 飞昂之雪 阅读(205) 评论(0) 推荐(0)
摘要:mysql做关联查询时,一般使用join....on.....的语法。 但还有其它两种语法形式,三者的主要区别在于书写形式,其余方面并无太多差异。 如下三种形式: join....on... 与 join... using()两种形式mysql在执行时都会处理成第三种。 这两者的区别在于: join 阅读全文
posted @ 2018-06-01 13:57 飞昂之雪 阅读(380) 评论(0) 推荐(0)
摘要:MySQL 的yearweek函数默认是从周日~周六,需求需要从周一到周日,看了MySQL的文档后,按照如下使用即可更改开始日期。 http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_week 形如 阅读全文
posted @ 2015-10-12 13:25 飞昂之雪 阅读(514) 评论(0) 推荐(0)
摘要:<!--?xml version="1.0" encoding="UTF-8" standalone="no"?--> MySQL的bigint unsigned类型,对应java的BigInteger类型,在基于mybatis框架时,如果我将bigint unsigned类型的字段的返回放在一个m 阅读全文
posted @ 2015-08-12 20:58 飞昂之雪 阅读(409) 评论(0) 推荐(0)
摘要:1.修改my.cnf 2.为了支持之前用utf8创建的表同样支持emoji,你还需要将之前的表修改未utf8mb4字符集 3.如果处理完成之后,插入还是失败,那么在db的URL参数上不要加characterEncoding参数。 不加这个参数时,默认值就时autodetect。 4.mysql支持e 阅读全文
posted @ 2014-12-15 17:29 飞昂之雪 阅读(264) 评论(0) 推荐(0)