MySQL 进阶
进进进进进进阶!!!
咕噜咕噜崩
理想还是要有的
展开
-
数据库分库分表
问题: 1、表中数据太多会有什么影响? 性能,索引查询性能降低,索引维护需要的系统资源增大。 【推荐】单表行数超过500万行或者单表容量超过2GB,才推荐进行分库分表。 说明:如果预计三年后的数据量根本达不到这个级别,请不要在创建表时就分库分表。 2、表中属性列太多会有什么影响? 表太臃肿,难以维护,查到的数据并不会完全用到。 进行垂直分表,超级表的常见技术:将基本信息作为主表,细节描述信息作为从表;主表的主键既是从表的外键也是从表的主键! 垂直分表 垂直分库 水平分库 水平分库库相同 水原创 2021-07-30 23:26:13 · 560 阅读 · 3 评论 -
杂记
SQL调优过程 索引的两大作用 1、检索 2、排序 建议按索引顺序查询 注意:MySQL一定会按照索引的列顺序优化SQL条件where部分的顺序!!! 注意:order/group by后多列时,不会优化顺序!!! 就想像成一顿楼 1、不能建空中楼阁 2、上楼必须要有明确的路径 in与exists ...原创 2021-05-19 17:35:23 · 98 阅读 · 0 评论 -
防止索引失效
原则 1、从左到右 2、唯一值可跳过 3、可以不全都列出 (【带头大哥不能死,中间兄弟不能断】原因就是复合索引底层的B+树就是从左到右检索排序的!!!) 例如: 使用索引的注意点原创 2021-05-19 15:10:51 · 159 阅读 · 0 评论 -
建立索引
组合索引B+树排序或分组的过程 从左到右操作: 如:根据组合索引的声明顺序,从左到右。先排序(分组)第一列,然后第二列… 单表建立索引 原则: 要使用索引的排序或者分组的话,需要在order/group by后面按照索引从左到右列出列名(1、如果是一个唯一值则可以跳过,不列出。2、不一定要全列出) 举例: 双表建立索引 1、最好的效果就是两个表都建立索引 2、inner连接则随便一个表建立索引 3、左连接给右表建立索引 4、右连接给左表建立索引 5、(别学死了,大不了换表的位置) 因为左连接,则左表的原创 2021-05-18 23:01:20 · 154 阅读 · 0 评论 -
Explain检查SQL
作用 用法 字段解释 id(执行顺序 越大优先级越高 越先执行) table select_type type xxxkey(key) ref rows Extra Using filesort(问题严重 应当避免) 使用到了文件排序,而没有利用到索引的排序功能 Using temporary(十分严重 必须杜绝) 不能全索引的话必须是索引的,从左到右的顺序作为group by条件!!!!! Using index(优秀的表现) 完全使用到了索引: 了解 ...原创 2021-05-18 21:36:56 · 208 阅读 · 0 评论 -
索引概述
MySQL中的索引 索引数据结构 默认B+树 索引优缺点 索引的创建原创 2021-05-18 15:31:13 · 79 阅读 · 0 评论 -
Linux的MySQL
文件路径 /etc/init.d/mysqld:对mysqld服务的基本配置 /etc/my.cnf:对MySQL数据库操作系统的基本配置 /usr/share/mysql:MySQL的特殊配置文件原创 2021-05-17 12:56:24 · 51 阅读 · 0 评论