自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

limngyang的博客

就是做做笔记。。。

  • 博客(8)
  • 收藏
  • 关注

原创 普通索引和唯一索引性能对比

change buffer:当需要更新一个数据页时,如果数据页在内存中就直接更新,而如果这个数据页还没有在内存中的话,在不影响数据一致性的前提下,InnoDB会将这些更新操作缓存在 change buffer 中,在下次查询需要访问这个数据页时(系统也会定期 merge ),将数据读入内存,然后执行 change buffer 中与这个数据页有关的操作(更新相关数据) ,这个过程称为 merge 。普通索引 和 唯一索引 性能对比: 读取性能: 普通索引读取流程:查到目标值,一直查到下一.

2021-05-31 15:56:44 546

原创 PHP的垃圾回收机制

垃圾回收机制(GC)、zval 和 zend_value://zval的struct(结构体) zval{ string "a" //变量名是a value zend_value //变量的值,联合体 type sting //变量是字符串类型 } #a问:php变量为什么能够保存字符串"123"也能保存数字123? #b答:zval中有该变量的类型,当时字符串"123"的时候,type就是string,此时value指向"123";当时整数123的时候,zval的type为int,value为123

2021-05-31 15:49:01 87

原创 面向对象的四个主要设计原则

单一职责原则(SRP:SIngle PesponsibilityPrinciple) 避免相同职责分散到不同类中 避免一个类承担太多职责(一个类只专心做一件事) 减少类之间的耦合,职责单一,需求改变时,只需改变一个类。 提高类的复用性 接口隔离原则(ISP:Interface Segregation Principle) 强调接口对客户端的承诺越少越好,并且做到专一。 客户端程序不应该一来它不需要的接口方法(功能),细化接口,保证其纯洁性。 通过多重继承实现对不同接口的

2021-05-31 15:24:22 377

原创 MySQL事务嵌套

最近因为工作中遇到了这个问题,对于mysql事务回滚机制,主要记录两种特殊情况。 场景1:第一层commit 第二层rollback <?phpfunction insert23(){ Db::startTrans(); $res1 = Db::name('test_table')->insert(['name'=>'张三','age'=>23]); $this->insert24(); Db::commit();}f..

2020-12-21 17:57:12 347

原创 MySQL存储引擎InnoDB和MyISAM对比

事务支持: InnoDB支持事务,外键等高级数据库功能。具有事务、回滚和崩溃修复能力的事务安全型表。 MyISAM不支持事务,强调的是性能,每次查询具有原子性,其执行行数度比InnoDB类型更快。 存储结构: 每个MyISAM在磁盘上存储成三个文件。文件名为所属表名,扩展名为.frm文件存储表定义。数据文件的扩展名为.MYD(MYData)。索引文件的扩展名是.MYI(MYIndex)。 所有的表都保存在一个数据文件中(也可能是多个文件),InnoDB表的大小受限于操作系统同文件的大小,一

2020-07-07 11:33:18 120

原创 MySQL的三种连接方式对比

PHP连接MySQL的三种方式: PHP的MySQL扩展:面向过程的扩展,早期PHP连接MySQL的接口,主要针对MySQL4.1.3或更早版本,如今已被MySQLi取代; //设置数据库参数define('DB_USER','root');define('DB_PASSWORD','123456');define('DB_HOST','localhost');define('DB_NAME','testdb');//初始化数据库if(!conn = @mysqli_c..

2020-07-07 10:36:11 383

原创 TCP 的三次握手和四次挥手

三次握手:第一次握手:server确认自己的收信能力和client的发信能力 client(客户端)发送了一个SYN(J)包给server(服务器),然后等待server的ACK回复,client进入 SYN-SENT 状态 即主动半打开状态。 第二次握手:client确认自己的发信能力和server的收信能力 server接收到SYN(seq=J)包后就返回一个ACK (J+1)包以及一个自己的SYN(K)包,然后等待client的ACK回复,server进入 SYN-RECI..

2020-06-30 17:36:13 70

原创 mysql:mac系统mysql datetime类型无法插入'0000-00-00 00:00:00'

插入数据时报错: Invalid default value for ‘create_time’解决方案:打开命令列界面,然后输入一下命令查看sql_modeselect @@sql_mode结果:'ONLY_FULL_GROUP_BY,NO_AUTO_VALUE_ON_ZERO,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERRO...

2018-12-25 16:14:50 1243 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除