摘要: 推荐:SQL语句执行顺序相关问题。 MySQL Server架构 分层概述 MySQL Server架构可抽象为3层。 连接层:验证用户名密码,认证成功后,获取当前账号的权限并缓存,并分配TCP连接池和线程池资源。 处理层:实现核心的处理功能。 存储层:将处理后的数据高性能安全的写入磁盘,或从磁盘中 阅读全文
posted @ 2024-03-08 10:43 小松聊PHP进阶 阅读(158) 评论(0) 推荐(0)
摘要: 什么是MySQL的页? 页是指存储引擎使用的最小的数据存储单位。 当 MySQL 执行读取或写入操作时,是以页为基本单位来进行操作的。即使读写一条数据,MySQL 也会按页操作。 MySQL 的存储引擎会将数据分成多个页,并根据需要将这些页加载到内存中进行处理。 通过使用页来组织数据,MySQL 能 阅读全文
posted @ 2024-03-08 09:17 小松聊PHP进阶 阅读(290) 评论(0) 推荐(0)
摘要: 简介 mysql explain(或desc)用于分析SQL语句的执行计划,多用于测试查询性能。语法:explain sql... 注意 explain执行DML语句,数据不发生变化。 explain执行的结果可以有多条数据,一条数据对应一个表,如果涉及union,MySQL内部会产生一个临时表,就 阅读全文
posted @ 2024-03-07 12:04 小松聊PHP进阶 阅读(81) 评论(0) 推荐(0)
摘要: 个人认为,90%的公司的数据体量和并发量压根用不上从服务器,结合Redis,一台性能强劲的云MySQL服务器,做好日常备份。足够了。 概念 一个MySQL主(Master)服务器上的数据自动复制到至少一个的MySQL从(Slave)服务器的过程,利用bin log,主服务器上的数据更改会被自动地同步 阅读全文
posted @ 2024-03-07 10:52 小松聊PHP进阶 阅读(95) 评论(0) 推荐(0)
摘要: 注意本文是SQL执行顺序,不是MySQL Server内部执行流程。 MySQL并非像PostgreSQL(被认为是最接近 SQL 标准的数据库之一)一样严格按照SQL标准,MySQL执行引擎会根据查询的具体情况和优化策略来决定具体的执行顺序,所以SQL执行顺序是理论顺序。 书写顺序 select. 阅读全文
posted @ 2024-02-12 10:50 小松聊PHP进阶 阅读(266) 评论(0) 推荐(1)
摘要: 说明 PHP语言本身可以用insteadof和as关键字解决多个trait同名成员方法冲突的问题,但是貌似没有直接解决同名成员属性冲突的方案。 虽然属性名冲突极少发生,但是不代表不会发生。 如果是自定义trait 可以复制旧trait文件到新trait,改新文件的成员属性名,引用新trait。 直接 阅读全文
posted @ 2024-02-09 12:00 小松聊PHP进阶 阅读(179) 评论(0) 推荐(0)
摘要: 说明 本文PHP语言去实现,只实现核心可控概率引擎,库存判断等其它业务需要其它代码配合实现。 代码 /** * @function 封装可控概率的抽奖功能 * @param $arr array 数据集合 * @param $weight_key string 权重字段 * @return arra 阅读全文
posted @ 2024-02-04 23:49 小松聊PHP进阶 阅读(254) 评论(0) 推荐(0)
摘要: 最优算法在文末,欢迎参考。 编写抢红包随机算法功能,通常金额是红包支付后立马算好的,而不是抢一个实时随机一个红包金额,避免并发情况下降低性能。 需求 仿照微信发红包功能,现有n个人抢金额为m的红包,m>=0.01,n>0,m/n不能小于0.01,需保证每个人都能抢到最低为0.01的金额,金额随机,但 阅读全文
posted @ 2024-02-03 14:08 小松聊PHP进阶 阅读(422) 评论(0) 推荐(0)
摘要: 早在2018年就了解CSRF,偶然间注意到项目的VerifyCsrfToken中间件,心血来潮,于是就写了这篇文章。 简介 CSRF (跨站请求伪造),或称之为XSRF, 是一种网络安全漏洞,黑客借用(不一定是盗用)受害者在已经登录过的网站上存留的会话凭证,作为通行证,借用受害者的身份实施的攻击行为 阅读全文
posted @ 2024-01-30 00:31 小松聊PHP进阶 阅读(91) 评论(0) 推荐(0)
摘要: 简介 在MySQL数据库中,死锁是指多个事务同时竞争同一资源,并且彼此互相等待对方释放资源而无法继续执行的情况,导致数据库操作无法完成,从而以最小的成本自动回滚事务的行为。 排查 方法1 show engine innodb status; 执行以上命令会得到大量日志,在LATEST DETECTE 阅读全文
posted @ 2024-01-24 20:05 小松聊PHP进阶 阅读(163) 评论(0) 推荐(0)