-

仿thinkphp模板类
class SimpleTemplate { private $templateDir; private $data = array(); public function __construct($templateDir) ...
-

图解Mysql语句的执行过程
图解Mysql语句的执行过程当我们希望Mysql能够高性能的执行查询语句时,其实最好的方法就是搞清楚Mysql到底是怎样执行查询的。一旦理解这一点,很多的查询优化工作实际上就是遵循一些原则让查询优化器能够按照预想的合理的方式运行。下面详细了解下Mysql执行查询的过程客户端发送一条查询给服务器服务器先检查查询缓存,如果命中了缓存,则立刻返回存储在缓存中的结果。否则进入下一个阶段。服务器端进行SQl解析、预处理、再由优化器生成对应的执行计划。Mysql根据优化器生成的执行计划,...
-

Mysql多列索引经典案例
Mysql多列索引经典案例一个经典的多列索引案例,如题:Copy假设某个表有一个联合索引(c1,c2,c3,c4)一下——只能使用该联合索引的 c1,c2,c3 部分Awhere c1=x and c2=x and c4>x and c3=xB where c1=x and c2=x and c4=x order...
-
一条简单的 SQL 查询语句到底经历了什么
一条简单的 SQL 查询语句到底经历了什么?一、MySQL 基础架构# 整体来说 MySQL 主要分为两个部分,一个部分是:Server 层,另一部分是:存储引擎层。其中 Server 层包括有连接器、查询缓存、分析器、优化器、执行器等,存储引擎层支持 InnoDB、MyISAM、Memory 等。现在最常用的存储引擎是 InnoDB,同时也是 MySQL 默认的存储引擎。通过分析器知道要做什么。通过优化器知道怎么做。通过执行器调用存储引擎接口,进行数据的查询。&n...
-

简单粗暴通过 Binlog 日志来恢复 MySQL 数据
简单粗暴通过 Binlog 日志来恢复 MySQL 数据 引言#Binlog 日志的主要作用:1、增量备份。2、主从复制。操作步骤#1、登录 MySQL -> 执行 show variables like '%log_bin%'; 查询 binlog 状态。提示: log_bin => on 说明已经开始 binlog。2、准备测试数据Copy// 创建 `test` 数据库CREATE DATAB...
-

什么是联合索引?
什么是联合索引?概念#包含两列或更多列以上的索引,称为联合索引;同时又被称为复合索引。结构图#匹配规则#1、联合索引结构上的叶子节点包含了多个索引列。如上图中所示包含:年龄(age)、姓(firstname)、名(lastname)。2、在联合索引匹配过程中,首先会将联合索引中的第一个索引条件和节点中的第一个索引列进行匹配。如果匹配成功,那么接着匹配第二个索引条件和第二个索引列。依次类推,直到所有的索引条件都完成匹配。假设 SQL 语句如下:select...
-

SQL 分析与优化神器,验证了真相定律
SQL 分析与优化神器,验证了真相定律 引言#今天要分享的是一个 SQL 语句分析的神器,它是一个基于 Soar 的开源 sql 分析与优化的 Web 图形化工具。我们在平常分析 SQL 语句,使用最多的方式就是 Explain 工具。了解了今天这个 SQL 分析神器之后,我们又多了一种分析方式了,而且它是小米人工智能团队开源的...
-

会员 SaaS 系统数据库
一、前言#2018年,这是不平凡的一年;互联网行业的中台战略、会员经济等模式如火如荼,同时也逐渐地走入我们公司每个人的视野。在南海集团的战略规划背景下,当时我所在的公司作为集团的研发中心,承担了对会员 SaaS 系统的建设。很庆幸当时我参与了这个项目,因此也提升了我对 SaaS 模式的基本认知、及技术架构的精进。借此机会,我把这段经历的主要内容分享给大家。SaaS(Software-as-a-Service),意思为软件即服务,即通过网络提供软件服务。SaaS 平台供应商将应...
-

PHP 的魔术变量
引言#PHP 向它运行的任何脚本提供了大量的预定义常量。魔术变量#__LINE__#文件中的当前行号。__FILE__#文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。__DIR__#文件所在的目录。如果用在被包括文件中,则返回被包括的文件所在的目录。__FUNCTION__#函数名称。__CLASS__#类的名称。__TRAIT__#Trait 的名字。__METHOD__#类的方法名。__NAMESPACE__#当前命名空间的名称。...
-

仿thinkphp数据库类
<?php header("Content-Type:text/html;charset=utf-8"); /** *php操作mysql的工具类 */ class Db{ private $_db = null;//数据库连接句柄 private $_...