函数小总结
在与代码的日常相处中,我们经常会使用到函数。每次使用的时候都要去查查有失高大上程序员的逼格。下面我们就把常用的函数列出来,背一背。 字符串操作 名称 作用 strlen($str) 返回字符串长度 mb_strlen($str) 可以返回中文字符长度 strtolower($str) 字母转小写 s…
表字段的选择,Sql 语句编写规范
对面坐着仁爱的面试官冷酷的问:小伙砸表字段,Sql语句有啥子需要注意哒创建表时表字段设计创建表时表字段设计 表字段避免 null 值出现,null 值很难查询优化且占用额外的索引空间,推荐默认数字 0 代替 null。尽量使用 INT 而非 BIGINT,如果非负则加上 UNSIGNED(这样数值容…
说一说 索引
对面坐着仁爱的面试官笑眯眯的问:小伙子索引是啥子 索引是什么帮助 MySQL 高效获取数据的数据结构,也可以称为快速查找排序的一种数据结构。Mysql 索引主要有两种结构:B+Tree 索引和 Hash 索引。我们平常所说的索引,如果没有特别指明,一般都是指 B 树结构组织的索引 (B+Tree 索…
表分区详解
分区工作原理 对用户而言,分区表是一个独立的逻辑表,但是底层 MYSQL 将其分成了多个物理子表,这对用户来说是透明的,每一个分区表都会使用一个独立的表文件。创建表时使用 partition by 子句定义每个分区存放的数据,执行查询时,优化器会根据分区定义过滤那些没有我们需要数据的分区,这样查询只…
MyISAM和InnoDB的区别
对面坐着仁爱的面试官问:MyISAM 和 InnoDB 是两种引擎比较流行的储存引擎,你说说他们的区别吧? 核心区别 MyISAM 是非事务安全型的,而 InnoDB 是事务安全型的。MyISAM 锁的粒度是表级,而 InnoDB 支持行级锁定。MyISAM 支持全文类型索引,而 InnoDB 不支…
SQL统计语句(持续更新)
现在有两张表mysql> select * from goods; +----+------+---------+ | id | name | price | +----+------+---------+ | 1 | 苹果 | 3.25 | | 2 | 香蕉 | 2.50 | | 3 | 电…
PHP设计模式之装饰模式
装饰模式:通过在运行时合并对象来扩展功能的一种灵活机制。这是一种比较简单的模式,在父类底下造一个装饰子类。现在我们有地形空间(Tile),平原(Plains)是地形空间的一种,然后地形空间都是被污染的与充满钻石的状态。每个地形空间都有相应的能源指数。<?php /** * 装饰模式 * Cre…
PHP设计模式之组合模式
你还记得“组合优于继承”这个设计原则吗?该原则体现了类和对象之间的组织弹性。为了使项目更具灵活性,我们需要将类按一定结构组织起来,以便它们的对象在代码运行时能被构造为有用的结构。下面我们来介绍组合模式,将一组对象组合为可像单一对象一样被使用的结构,这是组合模式的原则。好比是一棵树,有枝有叶,但是你使…
PHP设计模式之抽象工厂模式(二)
平面继承层次的出现是工厂方法模式带来的一个问题。每次添加产品家族时,你就被迫去创建一个相关的具体创造者。一个快速增长的系统会包含原来越多的产品,这样维护起来就会非常的恶心。一个避免这种依赖的办法就是使用clone复制已存在的具体产品,具体产品本身便成了它们自己生成的基础。<?php /** *…
PHP设计模式之抽象工厂模式(一)
在大型应用中,我们很可能需要工厂来生产一组相关的类,抽象工厂模式就闪亮登场了。在大型应用中,我们很可能需要工厂来生产一组相关的类,抽象工厂模式就闪亮登场了。<?php /** * 预约编码器 * Class ApptEncoder */ abstract class ApptEncoder{ …