如果没有命中查询缓存,就要开始真正执行语句了。首先,mysql需要知道你要做什么,因此需要对sql语句做解析。 1、词法分析 分析器会先做词法分析,输入的是由多个字符串和空格组成的一条SQL语句,mysql需要识别出里面…
标签:语句
MySQL你必须掌握了解的锁知识!
一、前言 MySQL 的锁按照范围可以分为全局锁、表锁、行锁,其中行锁是由数据库引擎实现的,并不是所有的引擎都提供行锁,MyISAM 就不支持行锁,所以文章介绍行锁会以InnoDB引擎为例来介绍。 二、全局锁 MySQL…
视图
定义: 一种虚拟存在的表,行和列的数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的,只保存了sql逻辑,不保存查询结果。 22个普通班(真实的表),组建一个舞蹈班(视图)。 舞蹈班从22个普通班中选出会跳舞…
对于MySQL你必须要了解的锁知识
一、前言 MySQL 的锁按照范围可以分为全局锁、表锁、行锁,其中行锁是由数据库引擎实现的,并不是所有的引擎都提供行锁,MyISAM 就不支持行锁,所以文章介绍行锁会以InnoDB引擎为例来介绍行锁。 二、全局锁 MyS…
mysql备份-使用mysqldump实施逻辑备份
Mysqldump是一个逻辑备份命令;意思就是将数据库中的数据备份成一个文本文件;也可以说是将表的结构和数据存储在文本文件中。 Mysqldump命令的工作原理很简单,它先查出需要备份的表的结构,再在文本文件中生成一个C…
第三节、mysql组件2——查询缓存
查询缓存 连接建立完成后,就可以执行语句了,这里以 select * from T where ID=10; 为例子。 mysql拿到一个查询请求后,会先到查询缓存看看,之前是不是执行过这条语句。之前执行过的…
mysql存储过程和函数
存储过程和函数相对于java的函数的是非常类似的,把语句组合到一起,使用的时候,直接调用就可以了。 存储过程 语法 CREATE PROCEDURE sp_name ([proc_parameter[,...]]) [c…
第九节、一条SQL更新语句的执行过程
前6节中说过,在一个表上有更新的时候,跟这个表有关的查询缓存会失效,所以执行一条update语句就会把表T上所有缓存结果都清空。这也就是我们一般不建议使用查询缓存的原因。 接下来分析其会通过词法和语法解析知道这是一条更新…
数据库性能优化之SQL语句优化
一、问题的提出 在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的的编写等体会不出SQL语句各种写法的性能优劣,但是如果将应用系统提交实际应用后,随着数据库中数据的增加,系统的响应速度就成为目前…
PHP面试之MySQL查询优化
[TOC] 请简述项目中优化MySQL语句执行效率的方法,从哪些方面入手,SQL语句性能如何分析? 分析查询速度 记录慢查询日志 分析查询日志,使用pt-query-digest工具进行分析 使用show profile…
慢查询日志-Show processlist命令的使用
SHOW PROCESSLIST显示哪些线程正在运行。您也可以使用mysqladmin processlist语句得到此信息。 各列的含义和用途: Id列:一个标识,你要kill一个语句的时候很有用,用命令杀掉此查询/*…
SQL分类
DDL DDL: 数据库定义语句,即对数据库内部对象创建【CREATE】、删除【DROP】、修改【ALTER】等操作语言。 说明 执行语句 性能影响 修改字段默认值 ALTER TABLE test ALTER COLU…