摘要: 索引失效的几种情况 1.如果条件中有or,即使其中有条件带索引也不会使用(这也是为什么尽量少用or的原因) 要想使用or,又想让索引生效,只能将or条件中的每个列都加上索引 2.对于多列索引,不是使用的第一部分,则不会使用索引(靠左原则) 3.like查询以%开头的列索引会失效 4.如果列类型是字符 阅读全文
posted @ 2020-03-20 23:48 段佳伟 阅读(799) 评论(0) 推荐(0) 编辑
摘要: "参考1" "参考2" 最佳左前缀法则:带头大哥不能死、中间兄弟不能断 索引法则 最佳左前缀法则 最佳左前缀法则学习和Demo演示 1 准备数据 1.1 建表 复制代码 DROP TABLE IF EXISTS staff; CREATE TABLE IF NOT EXISTS staff ( id 阅读全文
posted @ 2020-03-20 23:47 段佳伟 阅读(2734) 评论(0) 推荐(0) 编辑
摘要: "Redis系列十:Pipeline详解" 一、pipeline出现的背景: redis客户端执行一条命令分4个过程: 发送命令-〉命令排队-〉命令执行-〉返回结果 1 这个过程称为Round trip time(简称RTT, 往返时间),mget mset有效节约了RTT,但大部分命令(如hget 阅读全文
posted @ 2020-03-20 22:32 段佳伟 阅读(6661) 评论(0) 推荐(0) 编辑
摘要: 问题前要:对于一个字段,它的更新操作很频繁,那么应该使用普通索引还是唯一索引? 结论: 如果业务能够保证唯一性应该尽量选择普通索引而不是唯一索引 从查询和更新两方面说明: 查询: 查询来说二者的区别是 普通索引查到符合条件的项后会继续查找下一项,如果下一项不符合再返回 唯一索引则是查到符合条件的项后 阅读全文
posted @ 2020-03-20 22:13 段佳伟 阅读(6583) 评论(0) 推荐(0) 编辑
摘要: 1.mysql一个字段 频繁插入 要用普通索引还是唯一索引呢? 普通索引,唯一索引要先去查看唯一性,chang buffer 更新: 对于更新操作二者还是有很大区别的,要理解他们之间的区别首先要理解change buffer change buffer是用来记录更新操作的一种行为,在没有把数据项从硬 阅读全文
posted @ 2020-03-20 22:11 段佳伟 阅读(705) 评论(0) 推荐(0) 编辑
摘要: 思路:找一个值作为中间值,然后比他小的放到左边,比他大的放到右边,递归查找排序,最后这个值左边都是比他小的,右边都是比他大的,他是中间的位置,最后合并数组 阅读全文
posted @ 2020-03-20 18:26 段佳伟 阅读(141) 评论(0) 推荐(0) 编辑
摘要: PHP抽象类与接口的区别 首先,看看什么是抽象类和接口 抽象类: 定义为抽象的类不能被实例化.任何一个类,如果它里面至少有一个方法是被声明为抽象的,那么这个类就必须被声明为抽象的。被定义为抽象的方法只是声明了其调用方式(参数),不能定义其具体的功能实现。继承一个抽象类的时候,子类必须定义父类中的所有 阅读全文
posted @ 2020-03-20 17:43 段佳伟 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 存储机制 php中的session中的内容并不是放在内存中的,而是以文件的方式来存储的,存储方式就是由配置项session.save_handler来进行确定的,默认是以文件的方式存储。 存储的文件是以sess_sessionid来进行命名的,文件的内容就是session值的序列话之后的内容。 阅读全文
posted @ 2020-03-20 17:40 段佳伟 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 封装 :就是将一个类的使用和实现分开,只保留部分接口和方法与外部联系 继承:子类自动继承其父级类中的属性和方法,并可以添加新的属性和方法或者对部分属性和方法进行重写。继承增加了代码的可重用性。 多态:多个子类中虽然都具有同一个方法,但是这些子类实例化的对象调用这些相同的方法后却可以获得完全不同的结果 阅读全文
posted @ 2020-03-20 17:35 段佳伟 阅读(290) 评论(0) 推荐(0) 编辑
摘要: 工厂模式在于可以根据输入参数或者应用程序配置的不同来创建一种专门用来实现化并返回其它类的实例的类。 工厂模式的例子: width = $width; $this height = $height; } public function getCircum() { return 2 ($this wid 阅读全文
posted @ 2020-03-20 17:04 段佳伟 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 从面向过程的角度来看,首先是观察者向主题注册,注册完之后,主题再通知观察者做出相应的操作,整个事情就完了。 从面向对象的角度来看,主题提供注册和通知的接口,观察者提供自身操作的接口,(这些观察者拥有一个同一个接口)观察者利用主题的接口向主题注册,而主题利用观察者接口通知观察者,耦合度相当之低。 可以 阅读全文
posted @ 2020-03-20 16:58 段佳伟 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 单例模式就是说一个例只能实例化一次,避免内存的占用 资源的节省,避免重复实例化 比如一个config类,多处用到,修改,避免没有实时更新 数据库连接, 一个就够了 instanceof 使用这个关键字可以确定一个对象是类的实例、类的子类,还是实现了某个特定接口 阅读全文
posted @ 2020-03-20 16:57 段佳伟 阅读(74) 评论(0) 推荐(0) 编辑
摘要: PHP是不支持多继承的,那么如何实现多继承呢? 可以使用interface或trait 实现 interface这里我们就不做过多的说明了,它的原理就是一个类可以实现多个接口。下面这段代码就能够说明。 interface test1{ public function connect(); } int 阅读全文
posted @ 2020-03-20 15:49 段佳伟 阅读(841) 评论(0) 推荐(0) 编辑