三种语句类型:DDL、DML、DQL:
DDL:对表、聚簇、索引、视图、函数、存储过程和触发器等等关键字:Drop Create Truncat ALTER
DML : 对表中元素的 增删改 INSERT DELETE UPDATE
DQL : 查询语句 SELECT
MySQL 三万字精华总结 + 面试100 问,和面试官扯皮绰绰有余(收藏系列) - 知乎 (zhihu.com)
为什么需要分库分表
一般情况下我们创建的表对应一组存储文件
当数据量较大时(一般千万条记录级别以上),MySQL的性能就会开始下降:此时只是单纯的添加索引的话,会发现 影响到了新增和删除的性能。
此时 我们将数据分散到不同的表上,单表的索引大小就得到了控制,对索引以及表结构 的 变更会变得很方便和高效。
总结一下:当数据量较大(千万级别记录),我们就需要将数据分散到多组存储文件,保证其单个文件的执行效率
分区分表是什么:
分表:将一个表结构分为多个表,或者将一个表数据分片后放入多个表;
分库:这些表可以放在同一个数据库里,也可以放到不同的数据库中,甚至可以放到不同的数据库实例中
分区API:
分表API:
分库操作:
MySQL 三万字精华总结 + 面试100 问,和面试官扯皮绰绰有余(收藏系列) - 知乎 (zhihu.com)
MySQL:互联网公司常用分库分表方案汇总! - 知乎 (zhihu.com)
一次难得的分库分表实践 - crossoverJie - 博客园 (cnblogs.com)
Mysql分库分表实战(一)——一文搞懂Mysql数据库分库分表_mysql 分库分表_Amos zhu的博客-CSDN博客
MySQL的分区/分库/分表总结 - 知乎 (zhihu.com)
小白都能懂的Mysql主从复制原理(原理+实操) - 知乎 (zhihu.com)