事件监听

 

DI依赖注入

 

Sublime Text3简单了解

 

参考网站:

http://lobert.iteye.com/blog/2068638

http://yansu.org/2014/03/20/php-debug-with-xdebug.html

mysql分区技术(二)

例1.假设你创建了一张表,该表保存20家音像店的职员记录,这20家音像店的编号从1到20。根据store_id将其分成4个分区,可使用range分区。如下图:

1

 

例2.根据离职日期分区,同样使用range分区,如下图:

2

 

例3.list分区与range分区有类似的地方(list好比php中的switch、range好比php中的if…else),假设20家音像店分别在4个区,每个区分别包含如下store_id的音像店。东区:1,2,10,11,19,20 南区:7,8,15,16 西区:4,12,13,14,18 北区:3,5,6,9,17 此时,可使用list分区,如下图:

3

 

例4.基于入职日期hired,按年份平均分布成4个分区,则可使用hash分区,如下图:

4

 

key分区,由于性能较低,一般不推荐使用,具体4个分区的对比,如下图:

5

 

mysql分区技术(一)

类似水平分表,但是它是mysql在物理层进行水平分表,与对应的应用程序来说,它还是一张表
mysql5.1开始以插件的形式支持分区
mysql常用分区类型有 RANGE LIST HASH KEY
show plugins; //通过show plugins命令,如果显示partition active 表示分区插件已启动
innodb引擎的表有两种表空间:共享表空间、独占表空间
如果innodb的表要做分区,必须是独占表空间,而且个人也比较建议使用独占表空间(性能更高、灵活性更高),唯一的缺点就是占用硬盘容量更大

 

从测试可看出,如果表的数据量不是很大的情况下,建立索引可以起到同样的优化效果,只有表数据量较大(估计2000万条以上吧- -)或者一些不方便建立索引的表上,选择分区技术也是不错的方案。

mnmp环境搭建

首选,需要安装xcode和brew。

然后删除mac自带的Apache和php。(可以不删,但是配置起来比较麻烦)