随笔分类 - MySQL
1
Mysql etc..
摘要:问题 bigint类型字段作为做为主键索引,一颗深度为3的B+树能存放多少个索引数据 分析 1.MySQL数据组织的最小单位是页,也叫数据页,每个数据页大小是16KB,索引也是存放在索引的数据页中 2.主键索引是聚簇索引,结合B+树的数据结构,主键索引在非叶子节点上不存储数据,仅在叶子节点上才存储完
阅读全文
摘要:EXPLAIN执行计划分类 案例表结构: 索引结构: 1.all 全表扫描 MYSQL扫描全表来找到匹配的行 例如: EXPLAIN SELECT * FROM `t_user` WHERE nick_name='鹅鹅鹅' 例如 EXPLAIN SELECT nn_number FROM `t_us
阅读全文
摘要:1.查看所有库的大小 select concat(round(sum(DATA_LENGTH/1024/1024),2),'MB') as ALL_DB_DATA_SIZE, concat(round(sum(INDEX_LENGTH/1024/1024),2),'MB') as ALL_DB_IN
阅读全文
摘要:需求背景: 由于业务需求,需要在线上用户表添加渠道字段,用于区分不同渠道注册的用户,目前该表有20+个字段,8个索引 线上用户数据大概1500W左右,需要不停机增加数据库字段,同时需要刷新Redis缓存中的用户数据 发生的问题: 问题1.添加字段可能会锁表,影响线上业务的操作; 问题2.删除Redi
阅读全文
摘要://TODO
阅读全文
摘要:举个例子吧:order by id desc,time desc先是按 id 降序排列 (优先)如果 id 字段 有些是一样的话 再按time 降序排列 (前提是满足id降序排列) order by name, age desc name优先 name一样的话 就按age 排序 后面再加第三列的话,
阅读全文
摘要:分片键 分片算法 分片策略 SQL Hint 分片键 用于分片的数据库字段,是将数据库(表)水平拆分的关键字段。例:将订单表中的订单主键的尾数取模分片,则订单主键为分片字段。 SQL中如果无分片字段,将执行全路由,性能较差。 除了对单分片字段的支持,ShardingSphere也支持根据多个字段进行
阅读全文
摘要:逻辑表 水平拆分的数据库(表)的相同逻辑和数据结构表的总称。 例:订单数据根据主键尾数拆分为10张表,分别是t_order_0到t_order_9,他们的逻辑表名为t_order。 真实表 在分片的数据库中真实存在的物理表。即上个示例中的t_order_0到t_order_9。 数据节点 数据分片的
阅读全文
摘要:参考官方文档:http://shardingsphere.apache.org/ ShardingSphere是一套开源的分布式数据库中间件解决方案组成的生态圈,它由Sharding-JDBC、Sharding-Proxy和Sharding-Sidecar(计划中)这3款相互独立的产品组成。 他们均
阅读全文
摘要:一.什么是Flyway? Flayway是一款数据库版本控制管理工具,支持数据库版本自动升级,Migrations可以写成sql脚本,也可以写在java代码里;不仅支持Command Line和java api ,也支持Build构建工具和Spring boot,也可以在分布式环境下能够安全可靠安全
阅读全文
摘要:1. 存在几个线程: 主库一个线程,从库两个线程 2.主库生成一个log dump线程,和从库IO线程交互 3.IO线程请求主库binlog,写入到中继日志relay log 4.SQL线程读取中继日志,解析然后写入到从库
阅读全文
摘要:redo 重做日志 作用:确保事务的持久性,防止在发生故障,脏页未写入磁盘。重启数据库会进行redo log执行重做,到达事务一致性 undo 回滚日志 作用:保证数据的原子性,记录事务发生之前的数据的一个版本,用于回滚。 innodb事务的可重复读和读取已提交 隔离级别就是通过mvcc+undo实
阅读全文
摘要:转自:https://blog.csdn.net/kk185800961/article/details/79378313/ 以下考虑主要为 Innodb 引擎 【 innodb_buffer_pool_size 】 用于缓存 索引 和 数据的内存大小, 这个当然是越多越好, 数据读写在内存中非常快
阅读全文
摘要:MRR,全称「Multi-Range Read Optimization」。 简单说:MRR 通过把「随机磁盘读」,转化为「顺序磁盘读」,从而提高了索引查询的性能。 至于: 为什么要把随机读转化为顺序读? 怎么转化的? 为什么顺序读就能提升读取性能? 咱们开始吧。 磁盘:苦逼的底层劳动人民 执行一个
阅读全文
摘要:1.date_sub() 时间的加减 备注:record 为datetime类型 select record_time as date, order_area as orderArea, order_cnt as orderCnt from dm_rpt_dss_enterprise_sum whe
阅读全文
摘要:百万数据量SQL,在进行分页查询时会出现性能问题,例如我们使用PageHelper时,由于分页查询时,PageHelper会拦截查询的语句会进行两个步骤 1.添加 select count(*)from (原查询sql) ,用于统计查询的总数 2.拼接 limit startPage,number
阅读全文
摘要:一.JDBC驱动的版本号以及名称问题 区别: com.mysql.jdbc.Driver 是 mysql-connector-java 5中的 com.mysql.cj.jdbc.Driver 是 mysql-connector-java 6以上的版本中的 注意,我这里使用的是springboot2
阅读全文
摘要:作者:李平 https://www.cnblogs.com/leefreeman/p/8315844.html 一个问题? InnoDB一棵B+树可以存放多少行数据?这个问题的简单回答是:约2千万 为什么是这么多呢? 因为这是可以算出来的,要搞清楚这个问题,我们先从InnoDB索引数据结构、数据组织
阅读全文
1