Wesley13 Wesley13
4年前
Mysql 多表使用 Case when then 遇到的坑
前言:在做一个订单导出时,遇到多表都含有state这个字段,含有多个状态首先想到的是:casecolumewhenconditionthenresultwhenconditionthenresultwhenconditionthenresultelseresultend
Wesley13 Wesley13
4年前
mysql索引BTree和B+Tree分析
BTree索引!(https://oscimg.oschina.net/oscnet/3329cf028540693bf2307cdc60e8fccc776.jpg)  【初始化介绍】 一颗b树,浅蓝色的块我们称之为一个磁盘块,可以看到每个磁盘块包含几个数据项(深蓝色所示)和指针(黄色所示),如磁盘块1包含数据项17和35
Wesley13 Wesley13
4年前
mysql手写sql 建库建表示例
示例1: 整个项目的数据库脚本开始创建一个数据库CREATEDATABASEseckill;使用数据库USEseckill;创建秒杀库存表CREATETABLEseckill(seckill_idBIGINTNOTNU
Wesley13 Wesley13
4年前
MySQL 8.0 InnoDB压缩行格式性能测试
InnoDBcompressed好吃吗?不,它有点硌牙。1\.背景信息1\.测试环境2\.进行测试2.1所有数据可以加载到bufferpool中2.1.1数据压缩率2.1.2TPS相差值2.1.3平均延迟差值avgLatency(ms)2.1.499%延迟差值99thpercentileLate
Wesley13 Wesley13
4年前
MySQL 部署分布式架构 MyCAT (五)
分片(水平拆分)4.全局表业务使用场景:如果你的业务中有些数据类似于数据字典,比如配置文件的配置,常用业务的配置或者数据量不大很少变动的表,这些表往往不是特别大,而且大部分的业务场景都会用到,那么这种表适合于Mycat全局表,无须对数据进行切分,要在所有的分片上保存一份数据即可
Wesley13 Wesley13
4年前
Mysql表设计需要注意的问题
下面探讨的数据库为MySQL存储引擎为innodb因为这是最常见的,使用最多的数据库和引擎什么是页分裂?这是因为聚簇索引采用的是平衡二叉树算法,而且每个节点都保存了该主键所对应行的数据,假设插入数据的主键是自增长的,那么根据二叉树算法会很快的把该数据添加到某个节点下,而其他的节点不用动;但是如果插入的是不规则的数据,那么每次插入都会改变二叉树之前
Wesley13 Wesley13
4年前
12道MySQL常见的面试题
!photo15890640905747be967916250.jpeg(https://oscimg.oschina.net/oscnet/upbcd7608e8a372e04c345babec157077f.jpg"photo15890640905747be967916250.jpeg")原文:https://github.c
Wesley13 Wesley13
4年前
MySQL 主键与索引的联系与区别
关系数据库依赖于主键,它是数据库物理模式的基石。主键在物理层面上只有两个用途:惟一地标识一行。作为一个可以被外键有效引用的对象。索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针。下面是主键和索引的一些区别与联系。1\.主键一定是唯一性索引,唯一性索引并不一定就是主
Wesley13 Wesley13
4年前
MySQL 分区表原理及使用详解
1\.什么是表分区?表分区,是指根据一定规则,将数据库中的一张表分解成多个更小的,容易管理的部分。从逻辑上看,只有一张表,但是底层却是由多个物理分区组成。2\.表分区与分表的区别分表:指的是通过一定规则,将一张表分解成多张不同的表。比如将用户订单记录根据时间成多个表。分表与分区的区别在于: