栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

数据库mysql的核心知识点总结

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

数据库mysql的核心知识点总结

1、表级锁与行级锁的区别:
表级锁 粒度大 开销小 冲突高 并发低 不会出现死锁
2、MyISAM表锁:共享读锁、独占写锁
读操作与写操作:写操作是串行的。
InnoDB:共享锁 排他锁
3、数据库的ACID:原子、一致、隔离、持久性
数据库的隔离级别相关概念:
脏读、不可重复读、幻读
读未提交 读提交 可重复读 串行

其他锁:
意向共享锁、意向排他锁:解决行锁与表锁的共存
间隙锁:解决可重复读
排他锁
4、5.7版本后 并行复制(binlog),解决数据库集群之间同步耗时的痛点。
5、查询优化关键点:优化数据访问——减少查询命中的数据量及访问的列
可以的情况下多用limit
6、执行过程优化:缓存/内连接高于外连接/覆盖索引——减少回表
7、预发解析器和预处理——解析树
8、join buffer缓存所有列 而不是只是join列 —— join buffer-size的设置
9、排序:索引排序、firesort,若数据过大,独立排序后再进行合并。
——sort buffer-size的设置
10、二次排序 排序字段读取先排序+随机IO ——一次排序:存储换时间。
11、MySAM count快 是因为有一个内置计数器 带where条件后就变慢了
12、优化关联查询:多余的索引,group order by
一个表的列 才有可能使用索引
13、关于子查询:尽可能由join替代 or 缓存
——子查询会产生中间表
优化limit——使用覆盖索引+join关联
14、尽量使用union all
15、用户自定义变量推荐使用
16、分区表:patition by
分区基数<5.7:1024
5.7+ 8196?

17、深入说明分区表:
17.1、早起为整数,分区字段有主键or唯一索引,所有主键和唯一索引都必须包含进来
分区表无法使用外键约束
17.2、分区表实现原理:多个底层表+句柄标识
17.3、分区表类型:范围分区、列表分区、列分区——普通列表不接受表达式、hash分区、key分区、子分区
18、数据库服务器的一些参数设置:
connection:max-connections max-user-connection
back_log:暂存的链接数(类比java线程池的相关参数设置)
wait-timeout interative-time
19、log-bin bin-log sync-binlog generater-log slow-query-log
bin_log_format log_qiery_time
20、binlog=>隶属于mysqlserver 特点:原始逻辑 追加写
innodb redo/undo
A:原子性 undolog
D:持久化:redolog

redo:物理写 循环写

存储写的区域分层:
buffer pool==> LogBuffer=>OSBuffer ==>Log files(磁盘)

binlog主要在主从等数据库集群环境等试用 redolog 异常整机

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1006343.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号