随笔分类 - MySQL
13. Mysql中查询缓存优化
摘要:13.1 概述 开启Mysql的查询缓存,当执行==完全相同的SQL语句(语句完全一样,甚至大小写完全一致)==的时候,服务器就会直接从缓存中读取结果,当数据被修改,之前的缓存会失效,修改比较频繁的表不适合做查询缓存。 13.2 操作流程 客户端发送一条查询给服务器; 服务器先会检查查询缓存,如果命
12. 应用优化
摘要:前面章节,我们介绍了很多数据库的优化措施。但是在实际生产环境中,由于数据库本身的性能局限,就必须要对前台的应用进行一些优化,来降低数据库的访问压力。 性能下降的表现 执行时间长 等待时间长 性能下降的原因 查询语句写的不好,各种连接,各种子查询导致用不上索引或者没有建立索引 建立的索引失效,建立了索
10. SQL优化
摘要:10.1 大批量插入数据 环境准备 : CREATE TABLE `tb_user_2` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(45) NOT NULL, `password` varchar(96) NOT NULL,
8.5 trace分析优化器执行计划
摘要:MySQL5.6提供了对SQL的跟踪trace, 通过trace文件能够进一步了解为什么优化器选择A计划, 而不是选择B计划。 打开trace , 设置格式为 JSON,并设置trace最大能够使用的内存大小,避免解析过程中因为默认内存过小而不能够完整展示。 SET optimizer_trace=
8.4 show profile分析SQL
摘要:Mysql从5.0.37版本开始增加了对 show profiles 和 show profile 语句的支持。show profiles 能够在做SQL优化时帮助我们了解时间都耗费到哪里去了。是MySQL提供可以用来分析当前会话中语句执行的资源消耗情况,可以用于sql的调优的测量。 通过 have
8.3 explain分析执行计划
摘要:通过以上步骤查询到效率低的 SQL 语句后,可以通过 EXPLAIN或者 DESC命令获取 MySQL如何执行 SELECT 语句的信息,包括在 SELECT 语句执行过程中表如何连接和连接的顺序 查询SQL语句的执行计划 : explain select * from tb_item where
8.2 show processlist 定位低效率执行SQL
摘要:慢查询日志在查询结束以后才记录,所以在应用反映执行效率出现问题的时候查询慢查询日志并不能定位问题,可以使用show processlist命令查看当前MySQL正在进行的线程,包括线程的状态、是否锁表等,可以实时地查看 SQL 的执行情况,同时对一些锁表操作进行优化。 show processlis
8.1 查看SQL执行频率
摘要:MySQL 客户端连接成功后,通过 show [ session | global ] status 命令可以提供服务器状态信息。 show [ session | global ] status; 可以根据需要加上参数 "session" 或者 "global" 来显示 session 级(当前连
7. 存储引擎
摘要:7.1 存储引擎概述 和大多数的数据库不同, MySQL中有一个存储引擎的概念, 针对不同的存储需求可以选择最优的存储引擎。 存储引擎就是存储数据,建立索引,更新查询数据等等技术的实现方式 。存储引擎是基于表的,而不是基于库的。所以存储引擎也可被称为表类型。 Oracle,SqlServer等数据库
6. Mysql的体系结构概览
摘要:6. Mysql的体系结构概览 整个MySQL Server由以下组成 Connection Pool : 连接池组件 Management Services & Utilities : 管理服务和工具组件 SQL Interface : SQL接口组件 Parser : 查询分析器组件 Optim
5. 触发器
摘要:5.1 介绍 触发器是与表有关的数据库对象,指在 insert/update/delete 之前或之后,触发并执行触发器中定义的SQL语句集合。触发器的这种特性可以协助应用在数据库端确保数据的完整性 , 日志记录 , 数据校验等操作 。 使用别名 OLD 和 NEW 来引用触发器中发生变化的记录内容
4. 存储过程和函数
摘要:4.1 存储过程和函数概述 存储过程和函数是事先经过编译并存储在数据库中的一段 SQL 语句的集合,调用存储过程和函数可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是有好处的。 存储过程和函数的区别在于函数必须有返回值,而存储过程没有。 函数 : 是一
3. 视图
摘要:3.1 视图概述 视图(View)是一种虚拟存在的表。视图并不在数据库中实际存在,行和列数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的。通俗的讲,视图就是一条SELECT语句执行后返回的结果集。所以我们在创建视图的时候,主要的工作就落在创建这条SQL查询语句上。 视图相对于普通的表的
2. 索引
摘要:2.1 索引概述 MySQL官方对索引的定义为:索引(index)是帮助MySQL高效获取数据的数据结构(有序)。索引是在数据库表的字段上添加的,是为了提高查询效率存在的一种机制。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据, 这样就可以在这些数据
1.Linux 系统安装MySQL
摘要:声明:本系列文章主要来源b站黑马程序员上海校区视频:https://www.bilibili.com/video/BV1eD4y1D7pR?p=2 其中会补充自己的理解及各位大佬的文章 1. Linux 系统安装MySQL 1.1 下载Linux 安装包 https://dev.mysql.com/
MySQL查看数据库、表占用磁盘大小
摘要:[toc] 原文地址:请优先查看!请优先查看! [Mysql——查看数据库,表占用磁盘大小](https://www.bbsmax.com/A/ZOJP4rRPJv/) [MySQL查看数据库或表磁盘占用空间](http://blog.sina.com.cn/s/blog_4e714f020101o
MySql中通配符'_'与'%'作为普通字符使用escape
摘要:前提:mysql中通配符' _ '与' % '分别代表任意一个字符和任意多个字符 作用:查询包含字符' _ '或' % '的字段时,通过escape后面字符转义' _ '或' % '不作为通配符使用 示例: 转义前: select * from user where user_name like '
数学函数-MOD取模
摘要:MySQL5.7官网:https://dev.mysql.com/doc/refman/5.7/en/string-comparison-functions.html#function_strcmp mod(N,M) mod(N,M) 或 N % M 或 N MOD M 模运算,返回N除以M的余数。