摘要:
一、缘起 当数据库的数据量非常大时,水平切分和垂直拆分是两种常见的降低数据库大小,提升性能的方法。假设有用户表:user(uid bigint,name varchar(16),pass varchar(16),age int,sex tinyint,flag tinyint,sign varcha 阅读全文
摘要:
一、基础规范 表存储引擎必须使用InnoDB 表字符集默认使用utf8,必要时候使用utf8mb4 解读:(1)通用,无乱码风险,汉字3字节,英文1字节(2)utf8mb4是utf8的超集,有存储4字节例如表情符号时,使用它 禁止使用存储过程,视图,触发器,Event 解读:(1)对数据库性能影响较 阅读全文
摘要:
0)前言 a. 基本规约 【强制】表存储引擎必须使用InnoDB(针对主库一般是强制要求的) 【强制】表字符集默认使用utf8,必要时候使用utf8mb4(个人踩坑:emoji表情存储问题)•说明:•通用,无乱码风险,汉字3字节,英文1字节•utf8mb4是utf8的超集,有存储4字节例如表情符号时 阅读全文
摘要:
本文来自微信公众号 继续回答星球水友提问: 沈老师,我听网上说,MySQL数据表,在数据量比较大的情况下,主键不宜过长,是不是这样呢?这又是为什么呢? 这个问题嘛,不能一概而论:(1)如果是InnoDB存储引擎,主键不宜过长;(2)如果是MyISAM存储引擎,影响不大; 先举个简单的栗子说明一下前序 阅读全文
摘要:
本文来自微信公众号 继续回答星球水友提问: 沈老师,MyISAM只支持表锁,但网上文章却说,在并发插入量比较大的时候,比较适合使用MyISAM,这矛盾吗? 这个问题,涉及MySQL表锁的一些细节,借着这个问题,系统性说下表锁的“所以然”。画外音:网上不少文章只说结论,不说为什么,容易让人蒙圈。 My 阅读全文