数据库面试系列之三:慢查询以及慢查询的优化

什么是慢查询?

查询的执行时间大于mysql系统设置的指定时间(long_query_time)的话,该查询就叫做慢查询,会被记录到慢查询日志文件里面。

记录慢查询日志的设置是关闭,需要开启之后才可以记录慢查询

set global slow_query_log=ON;

分析慢查询需要用explain+mysql,请参考下面的blog:

http://www.cnitblog.com/aliyiyi08/archive/2008/09/09/48878.html

慢查询的优化:

1.where条件增加索引

2.联合索引,最左匹配原则

时间: 2024-10-17 08:14:45

数据库面试系列之三:慢查询以及慢查询的优化的相关文章

数据库面试系列大纲

数据库面试经常被问到的考点: 1.内连接和外连接,左外连接和右外连接,全外连接 2.视图是什么,视图的优点 3.索引的优点,建立索引的规则有哪些? 4.写sql语句:涉及到order by ,group by, having ,like ,limit  等 5.什么是慢查询?如何优化慢查询? 6.mysql性能优化 7.mysql的存储引擎都有哪些?这些存储引擎有什么区别? 后面会针对每个点写单独的博客...

数据库面试系列之五:mysql的存储引擎

mysql的默认存储引擎是innoDB,是唯一一个支持事务和支持外键的存储引擎, 可以通过:show variables like 'default_storage_engine';查看当前数据库到默认引擎.命令:show engines和show variables like 'have%'可以列出当前数据库所支持的存储引擎. mysql的主要存储引擎有:innoDB,myISAM,merge,memory myISAM:不支持事务,不支持外键,访问速度尤其快,如果以查询和插入为主的表可以设置

数据库面试系列之四:索引

前言: 做项目的时候遇到一个问题: 写了个网页用来读取后台的数据在前端展示,每次翻页的时候都要过很久数据才显示,后来对where条件的字段增加了索引,数据显示速度明显加快. 索引:在关系数据库中,索引是一种单独的.物理的对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单.索引的作用相当于图书的目录,可以根据目录中的页面快速找到所需的内容. 优点 1.大大加快数据的检索速度; 2.创建唯一性索引,保证数据库表中每一

数据库面试系列之六:会写基本的sql语句

面试让写的sql语句涉及到order by ,group by, having ,like ,limit  等 order by 排序 asc生序,desc降序 group by 分组,having用于分组筛选 like用于模糊匹配查询 limit控制返回的结果条数,以及从第几条返回 select sid,sum(score) as 总分数 where sid>1004 group by sid having 总分数>60 order by 总分数 desc; select * from st

数据库面试系列之一:内连接和外连接

内连接是返回关系表中既满足查询条件又满足连接条件的元组 外连接是返回关系表中满足查询条件的但不一定满足连接条件的元组 外连接分为:左外连接,右外连接,全外连接 左外连接是返回左表中满足查询条件但不一定满足连接条件的元组 右外连接是返回右表中满足查询条件但不一定满足连接条件的元组 全外连接是返回左表中满足查询条件和右边中满足查询条件的元组 下面是两个基本表:s表和sc表        内连接返回的结果如下: 左连接返回的结果如下: 右连接返回的结果如下: 全外连接返回的结果如下:

数据库设计系列之三

一.为什么要进行需求分析? 1.了解系统中所需要存储的数据 2.了解数据的存储特点 3.了解数据的生命周期 二.要搞清楚的一些问题 1.实体及实体之间的关系(1对1,1对多,多对多) 2.实体所包含的属性有什么? 3.哪些属性或属性的组合可以唯一标识一个实体 需求分析实例 实例演示: 以一个小型的电子商务网站为例,在这个电子商务网站的系统中包括了几个核心的模块: 用户模块.商品模块.订单模块.购物车模块.供应商模块 实例演示--用户模块 用于记录注册用户信息 包括属性:用户名.密码.电话.邮箱.

数据库面试系列之二:视图

视图的定义:视图是一个或者多个基本表(或者视图)导出的表. 视图是一张虚表,视图的数据并不实际存储 视图的优点: 1.视图可以简化用户的操作 2.视图可以让用户从多个角度来看待同一数据 3.视图提供一定的数据逻辑独立性 4.视图提供了一定的安全性 什么样的场景适合建立视图? 比如一张表里面存放了员工ID,部门名称,月薪 想要获取某个部门所有用户的年薪 可以建立一个存储年薪的视图:

Sql Server来龙去脉系列之三 查询过程跟踪

我们在读写数据库文件时,当文件被读.写或者出现错误时,这些过程活动都会触发一些运行时事件.从一个用户角度来看,有些时候会关注这些事件,特别是我们调试.审核.服务维护.例如,当数据库错误出现.列数据被更新.CPU占用过高等,跟踪这些状态是非常有用地. 本章节覆盖了事件系统的关键区域:触发器.事件通知器.改变跟踪.SQL跟踪.扩展事件等.这些事件都有一个相似目的:响应或者记录发生的事件.但每一中事件的工作方式又不一样. 基础:触发器和事件通知器 触发器非常多,Data Manipulation La

数据库学习笔记系列(4)——单表查询_1

单表查询就是查询的范围只是一个table,我们对其中的某一个字段,或者多个字段进行查询返回,查询的时候还可以满足一定的条件. 下面我们就按照实际的问题,来学习一下单表查询. 首先,原始的是一个student表,其中有如下几个字段: 学号:snum 姓名:sname 年龄:sage 性别:ssex 院系:department 课程:course 分数:score create table student(snum int(5), sname varchar(10), sage int(5), ss