03 2018 档案
摘要:SELECT a.id FROM a WHERE a.id = 5100359 AND EXISTS ( SELECT b.id FROM b WHERE a.id = b.id) ORDER BY a.id DESC LIMIT 0, 5
阅读全文
摘要:Hash索引的限制 Hash索引必须进行二次查找 Hash索引无法用于排序 Hash索引不支持部分索引查找,也不支持范围查找 Hash索引中Hash码的计算可能存在Hash冲突 为什么要使用索引 索引大大减少了存储引擎需要扫描的数据量 索引可以帮助我们进行排序以避免使用临时表 索引可以把随机I/O变
阅读全文
摘要:MHA完成主从切换超高效 保证数据的一致性,达到真正意义的高可用 MHA提供了什么功能? 监控主数据库服务器是否可用 当主DB不可用时,从多个从服务器中选举新的 主数据库服务器提供了主从切换和故障转移功能 MHA可以与半同步复制结合 MHA主从切换过程 尝试从出现故障的主数据库保存二进制日志 从多个
阅读全文
摘要:什么是单点故障? 单点故障是指在一个系统中提供相同功能的组件只有一个,如果这个组件失效了,就会影响整个系统功能的正查使用,组成应用系统的各个组件都有可能成为单点。 如何避免单点故障 利用SUN共享存储或DRDB磁盘复制解决mysql单点故障 如何解决主服务器的单点问题 主服务器切换后,如何通知应用新
阅读全文
摘要:MMM的主要作用 监控和管理mysql的主主复制拓扑,并在当前的主服务器失效时,进行主和主备服务器之间的主从切换和故障转移等工作 MMM提供了什么功能 MMM监控mysql主从复制健康情况 在主库出现宕机时进行故障转移并自动配置其他从对新主的复制 提供了主,写虚拟IP,在主从服务器出现问题时可以自动
阅读全文
摘要:mysql常用存储引擎之Innodb 系统表空间和独立表空间要如何选择 比较: 系统表空间无法简单的收缩文件大小 独立表空间可以通过optimeize table 命令收缩系统文件 系统表空间会产生IO瓶颈 独立表空间可以同时向多个文件刷新数据 表转移的步骤 把原来存在于系统表空间中的表转移到独立空
阅读全文
摘要:CPU 1 64的CPU一定要工作在64位的系统下 2 对于并发比较高的场景CPU的数量比频率重要 3 对于CPU密集性场景和复杂SQL则频率越高越好
阅读全文
摘要:定义:运行时间比较长,操作的数据比较多的事务 风险: 锁定太多的数据,造成大量的阻塞和锁超时回滚时所需时间比较长 执行时间长,容易造成主从延迟
阅读全文
摘要:一、MaxScale作用 MaxScale是maridb开发的一个MySQL数据中间件,配置好MySQL的主从复制架构后,希望实现读写分离,把读操作分散到从服务器中,并且对多个服务器实现负载均衡。 MaxScale是插件式结构,允许用户开发适合自己的插件。 读写分离和负载均衡是MySQL集群的基础需
阅读全文
摘要:function king($high,$size){ $monkey = range(1, $high); $i = 0 ; while (count($monkey)>1) { $i++; $head = array_shift($monkey); if(($i % $size) != 0){
阅读全文
摘要:<?php $data = array(4,6,7,8,14,55,67,145,218,237,284); $num = interpolationsearch(284); var_dump($num); function interpolationsearch($num){ global $da
阅读全文
摘要:function binary_search(array $arr,$num){ $low = 0; $high = count($arr) - 1 ; while ($low <= $high) { $mid = floor(($low+$high)/2); if($num == $arr[$mi
阅读全文
摘要:<?php class node{ public $value; public function __construct($value){ $this->value = $value; }} class queue{ public $head; public $last; public $queue
阅读全文
摘要:<?php /*** 节点信息*/ class node{ public $value ;// 节点的数据 function __construct($value){ $this->value = $value; }} /***堆栈的实现*/ class stack{ public $last;//
阅读全文
摘要:<?php class tree{ public $key; public $left; public $right; public function __construct($key){ $this->key = $key; } /** * 先序遍历 */ public function trav
阅读全文
摘要:数据:描述客观事物的符号,如图片 文本 视频 数据元素:组成数据的,有一定意义的基本单位 数据项:一个数据元素可以由若干数据项组成 数据对象:性质相同的数据元素的集合 数据结构:数据结构是计算机用来组织和存储数据的方式!具体定义:数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据
阅读全文
摘要:适配器模式(Adapter Pattern):将某个对象的接口适配为另一个对象所期望的接口。属于结构型设计模式。 (一)为什么需要适配器模式 1,某个操作数据库的有两套不同的数据库操作方法,我们通过适配器统一成一个接口。例如,我们待会把mysql和mysqli统一成一个接口。 2,我们有多套数据库对
阅读全文
摘要:crontab简介 crond 是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务 工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务
阅读全文
摘要:观察者模式 (observer Pattern): 定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。也叫发布-订阅模式 (一)为什么需要观察者模式 1,一个对象状态改变给其他对象通知的问题,而且要考虑到易用和低耦合,保证高度的协作 2,完美的将
阅读全文
摘要:解释器模式(Interpreter Pattern): 提供了评估语言的语法或表达式的方式,它属于行为型模式。这种模式实现了一个表达式接口,该接口解释一个特定的上下文。这种模式被用在 SQL 解析、符号处理引擎等 (一)为什么需要解释器模式 (二)解释器模式UML图 (三)简单实例 解释器模式是开发
阅读全文
摘要:数据映射模式(Data Mapper Pattern ):描述如何创建提供透明访问任何数据源的对象。数据映射模式,也叫数据访问对象模式,或数据对象映射模式。 (一)为什么需要数据映射模式 数据映射模式的目的是让持久化数据存储层、驻于内存的数据表现层、以及数据映射本身三者相互独立、互不依赖。这个数据访
阅读全文
摘要:注册树模式(Registry Pattern ):注册树模式为应用中经常使用的对象创建一个中央存储器来存放这些对象 —— 通常通过一个只包含静态方法的抽象类来实现(或者通过单例模式)。也叫做注册器模式 (一)为什么需要注册树模式 (二)注册树模式UML图 暂无 (三)简单实例 注册树经常与单例模式一
阅读全文
摘要:空对象模式(Null Object Pattern):用一个空对象取代 NULL,减少对实例的检查。这样的空对象可以在数据不可用的时候提供默认的行为 (一)为什么需要空对象模式 (二)空对象模式UML图 上图是Java的空对象模式UML图,网上很多PHP设计模式的代码实现都是照着上面这个UML图 实
阅读全文
摘要:代理模式(Proxy Pattern):构建了透明置于两个不同对象之内的一个对象,从而能够截取或代理这两个对象间的通信或访问。 (一)为什么需要代理模式 1,远程代理,也就是为了一个对象在不同地址空间提供局部代表。隐藏一个对象存在于不同地址空间的事实。 2,虚拟代理,根据需要来创建开销很大的对象,通
阅读全文
摘要:建造者模式(Builder Pattern):将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 建造者模式是一步一步创建一个复杂的对象,它允许用户只通过指定复杂对象的类型和内容就可以构建它们,用户不需要知道内部的具体构建细节。建造者模式属于对象创建型模式。根据中文翻译的不同
阅读全文
摘要:工厂模式(Factor Pattern) 工厂模式(Factor Pattern) 工厂模式(Factor Pattern),就是负责生成其他对象的类或方法,也叫工厂方法模式 抽象工厂模式( Abstract Factor Pattern),可简单理解为工厂模式的升级版 (一)为什么需要工厂模式 1
阅读全文
摘要:单例模式(Singleton Pattern) 单例模式(Singleton Pattern) 单例模式(Singleton Pattern):顾名思义,就是只有一个实例。作为对象的创建模式,单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。 (一)为什么要使用PHP单例模式
阅读全文
摘要:function quick_sort(array $arr){ $size=count($arr); if($size>1){ $k=$arr[0]; $x=array(); $y=array(); for($i=1;$i<$size;$i++){ if($arr[$i]<=$k){ $x[]=$
阅读全文
摘要:1. 一般情况下,算法的基本操作重复执行的次数是模块n的某一个函数T(n) 注: 如果一个循环n次的for语句 , 如果里面有3条赋值语句,那么 总执行次数 就是 3n ,所以这个函数 T(n) 就是循环次数 , T(n) = 3n ,语句的执行次数(频度) * 单位执行时间 就是总执行时间 2.
阅读全文
摘要:安装nginx 安装nginx的命令: sudo apt-get install nginx 启动nginx: sudo service nginx start 打开浏览器,输入localhost地址,如下显示,nginx启动成功。 安装php 安装命令 sudo apt-get install p
阅读全文
摘要:hash 索引结构的特殊性,其检索效率非常高,索引的检索可以一次定位,不像B-Tree 索引需要从根节点到枝节点,最后才能访问到页节点这样多次的IO访问,所以 Hash 索引的查询效率要远高于 B-Tree 索引。 可 能很多人又有疑问了,既然 Hash 索引的效率要比 B-Tree 高很多,为什么
阅读全文