摘要: 定义 ​ 定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。也叫订阅者模式。 结构和说明 Subject: 目标对象,通常具有如下功能: (1)一个目标可以被多个观察者观察 (2)目标提供对观察者注册和退订的维护 (3)当目标的状态发生变化时,目 阅读全文
posted @ 2019-05-01 17:11 小白个人成长记 阅读(330) 评论(0) 推荐(0) 编辑
摘要: 定义 ​ 为其它对象提供一种代理以控制对这个对象的访问。 结构和说明 Proxy:代理对象,通常具有如下功能: 1:实现与具体的目标对象一样的接口,这样就可以使用代理来代替具体的目标对象 2:保存一个指向具体目标对象的引用,可以在需要的时候调用具体的目标对象 3:可以控制对具体目标对象的访问,并可能 阅读全文
posted @ 2019-05-01 13:44 小白个人成长记 阅读(821) 评论(0) 推荐(0) 编辑
摘要: 定义 ​ 用一个中介对象来封装一系列的对象交互。中介者使得各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立的改变它们之间的交互。 结构和说明 Mediator:​ 中介者接口。在里面定义各个同事之间交互需要的方法,可以是公共的通讯方法,比如changed方法,大家都用,也可以是小范围的交互 阅读全文
posted @ 2019-05-01 13:17 小白个人成长记 阅读(280) 评论(0) 推荐(0) 编辑
摘要: mysql查询-执行顺序分析 具体分析查询处理的每一个阶段 1.FROM:对FROM的左边的表和右边的表计算产生笛卡尔积。产生虚表VT1. 2.ON:对虚表VT1进行ON筛选,只有那些符合<join-conditoin>的行才会被记录在虚表Vt2中 3.JOIN:如果指定了OUTER JOIN(比如 阅读全文
posted @ 2019-05-01 10:24 小白个人成长记 阅读(4843) 评论(1) 推荐(3) 编辑
摘要: 1.去重 阅读全文
posted @ 2019-04-27 11:02 小白个人成长记 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 技巧1 比较运算符能用 “=”就不用“<>” “=”增加了索引的使用几率。 技巧2 明知只有一条查询结果,那请使用 “LIMIT 1” “LIMIT 1”可以避免全表扫描,找到对应结果就不会再继续扫描了。 技巧3 为列选择合适的数据类型 能用TINYINT就不用SMALLINT,能用SMALLINT 阅读全文
posted @ 2019-04-20 17:38 小白个人成长记 阅读(636) 评论(0) 推荐(0) 编辑
摘要: 常见用法 JOIN的含义就如英文单词“join”一样,连接两张表,大致分为内连接,外连接,右连接,左连接,自然连接 笛卡尔积:CROSS JOIN 要理解各种JOIN首先要理解笛卡尔积。笛卡尔积就是将A表的每一条记录与B表的每一条记录强行拼在一起。所以,如果A表有n条记录,B表有m条记录,笛卡尔积产 阅读全文
posted @ 2019-04-20 17:13 小白个人成长记 阅读(1302) 评论(0) 推荐(0) 编辑
摘要: 复制的基本原理 ​ slave会从master读取binlog来进行数据同步 ​ 三步骤+原理图 master将改变记录到二进制日志(binary log)。这些记录过程叫做二进制日志时间,binary log events ​ slave将master的binary log ebents拷贝到它的 阅读全文
posted @ 2019-04-20 16:50 小白个人成长记 阅读(262) 评论(0) 推荐(0) 编辑
摘要: 概述 定义: 锁是计算机协调多个进程或者线程并发访问某一资源的机制 在数据库中,除传统的计算资源(如CPU,RAM,IO等)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发 访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度 阅读全文
posted @ 2019-04-20 16:42 小白个人成长记 阅读(241) 评论(0) 推荐(0) 编辑
摘要: 1.explain 分析 测试中分析优化(初步) 观察,至少跑一天,看看生产的慢sql情 开启慢日志查询,设置阙值,比如超过5s的就为慢sql,并将他们抓取出来 explain + 慢sql分析 show profile 至此初步的sql优化问题基本定位出来 .运维经理、DBA 进行sql数据库服务 阅读全文
posted @ 2019-04-20 15:28 小白个人成长记 阅读(426) 评论(0) 推荐(0) 编辑