996就这样来了呀

394 阅读3分钟

新项目

公司开了一个新项目,时间又很紧。

于是我开始了996的生活, 说是996,结果这两天是119,和10:30 9。 有点难熬呀。

今天终于是看完了之制定的知识点任务。 MySql的一些知识点:

最开始的字段设计,表设计,关联表设计等;

以及数据库的三范式:

1:字段原子性,关系型数据库默认是满足第一范式的,

2.消除对主键的部分依赖,即在表中加上一个与业务逻辑无关的字段作为主键,

3.消除对主键的传递依赖, 但是在实际的操作中往往会违反第三范式。、

存储引擎的选择

一般有innodb和MyISAM, 但是一般选择innodb,mysql默认也是innodb。

两者存在的区别

innodb支持行锁,支持事物,支持外键。

MyISAM只支持表锁,也不支持事物,不支持外键。

索引

分类

唯一索引、普通索引、全文索引、主键索引

几种索引的索引方式是一样的,只不过对索引的关键字有不同的限制:

普通索引:对关键字没有限制。

唯一索引:要求记录提供的关键字不能重复。

主键索引:要求关键字唯一且不为null。

索引的存储结构

BTree

btree(多路平衡查找树)是一种广泛应用于磁盘上实现索引功能的一种数据结构,也是大多数数据库索引表的实现。 也称b-tree。

B+Tree聚簇结构

聚簇结构(也是在BTree上升级改造的)中,关键字和记录是存放在一起的。

在MySQL中,仅仅只有Innodb的主键索引为聚簇结构,其它的索引包括Innodb的非主键索引都是典型的BTree结构。

查询缓存

缓存开启,缓存大小等。

分区

分区算法:

hash 相同的输入得到相同的输出。输出的结果跟输入是否具有规律无关

key

和hash(field)的性质一样,只不过key是处理字符串的,比hash()多了一步从字符串中计算出一个整型在做取模操作。

做分区的字段必须使主键。

range

是一种条件分区算法,按照数据大小范围分区(将数据使用某种条件,分散到不同的分区中)。

list

水平分割、垂直分割

集群

主从同步,读写分离

负载均衡

算法分类:

轮询

加权轮询:按照处理能力来加权

负载分配:依据当前的空闲状态(但是测试每个节点的内存使用率、CPU利用率等,再做比较选出最闲的那个,效率太低)

部分mysql配置

慢查询日志

profile 分析日志

mysql自带的压测工具mysqlslap

并发测试、多伦测试等。

感想

得好好调整自己的心态,

要好好和同事相处,

正确处理和领导同事间的关系。

要开心的过好每一天。