巩义市建设局网站,ceo是什么职位,做旅游网站的原因,wordpress 深度优化目录
目录
索引概述--
介绍---
优缺点---
索引结构--
编辑
存储引擎支持情况---
BTree---
BTree---
Hash---
Hash特点---
思考题
索引分类--
InnoDB存储引擎中---
聚集索引---
二级索引---
执行过程--…目录
目录
索引概述--
介绍---
优缺点---
索引结构--
编辑
存储引擎支持情况---
BTree---
BTree---
Hash---
Hash特点---
思考题
索引分类--
InnoDB存储引擎中---
聚集索引---
二级索引---
执行过程---
思考题
索引语法--
代码示范---
SQL性能分析--
SQL执行频率---
慢日志查询---
代码演示---
profile详情---
代码演示---
explain执行计划--
代码演示--- 索引概述-- 介绍--- 优缺点--- 索引结构-- 存储引擎支持情况--- BTree--- 每当节点到5个Key时中间值向上分裂左边小于中间值右边大于中间值 BTree--- MySQL优化处理--- BTree的基础上分裂的同时将本身放在叶子节点形成链表左边小于中间值右边大于等于中间值 Hash--- Hash特点--- 思考题 索引分类-- InnoDB存储引擎中--- 聚集索引--- 此处叶子节点row存放的就是每一行的数据 二级索引--- 此处叶子节点存放id 执行过程--- 先在二级索引中拿Arm与Lee比较小于Lee继续找左边 与Geek比较小于Geek继续找左边 找到Arm存储的id为10 此时在聚集索引中再通过id10找到对应的行数据返回 这样的查询方式也叫回表查询 思考题 解答-- select * from user where id 10;效率高 原因是直接进行聚集索引查询省去了二级索引的查询 高度每1key 原key * 1171 * 16 索引语法-- 代码示范--- -- 创建数据库
CREATE DATABASE IF NOT EXISTS itcast DEFAULT CHARSET utf8mb4 ;use itcast;-- 准备表和数据 id为主键
CREATE TABLE tb_user(id int primary key auto_increment COMMENT id,name varchar(10) COMMENT 姓名,phone char(11) COMMENT 电话,email varchar(20) COMMENT 邮箱,profession varchar(10) COMMENT 专业,age int COMMENT 年龄,gender int COMMENT 性别,status int COMMENT 状态,createtime DATETIME COMMENT 入职时间
) COMMENT 用户表;INSERT INTO tb_user VALUES (1,吕布,17799990000,lvbu666163.com,软件工程,23,1,6,2001-02-02 00:00:00),(2,曹操,17799990001,caocao666qq.com,通讯工程,33,1,6,2001-03-05 00:00:00),(3,赵云,17799990002,177999908139.com,英语,34,1,2,2002-03-02 00:00:00),(4,孙悟空,17799990003,17799990sina.com,工程造价,54,1,0,2001-07-02 00:00:00),(5,花木兰,17799990004,19980729sina.com,软件工程,23,2,1,2001-04-22 00:00:00);-- 需求
-- 1.name字段为姓名字段该字段的值可能会重复为该字段创建索引
create index idx_user_name on tb_user(name);-- 2.phone手机号字段的值是非空且唯一的为该字段创建唯一索引
create unique index idx_user_phone on tb_user(phone);-- 3.为profession、age、status创建联合索引
create index idx_user_pro_age_sta on tb_user(profession,age,status);-- 4.为email建立合适的索引来提高查询效率
create index idx_user_email on tb_user(email);-- 查询索引
show index from tb_user; 结果--- SQL性能分析-- SQL执行频率--- 慢日志查询--- 代码演示--- 查询慢日志查询--- 使用vi编辑器配置信息---此时状态为OFF关闭 返回后重新启动mysql服务器--- 再次查询---此时状态为ON打开 查找存放慢日志文件的位置---此时文件中存放的只有一些基本信息 查询1000w条数据---出现慢查询日志 profile详情--- 使用-- 代码演示--- 启用profiling--- 进行三个查询操作--- 通过profiles操作查看每条sql的耗时基本情况--- 通过profiles操作查看sql语句各个阶段的耗时情况--- 通过profiles操作查看sql语句各个阶段cpu的使用情况--- explain执行计划-- explain执行计划各字段含义 代码演示--- 查看sql语句的执行计划--- id值相同--- id值不同---