Mysql索引操作

1、索引语法

2、慢查询日志

慢查询日志记录了所有执行时间超过指定参数( long_query_time ,单位:秒,默认 10 秒)的所有
SQL 语句的日志。
MySQL 的慢查询日志默认没有开启,我们可以查看一下系统变量 slow_query_log

开启慢查询日志,需要在 MySQL 的配置文件( /etc/my.cnf )中配置如下信息:
检查慢查询日志 :
最终我们发现,在慢查询日志中,只会记录执行时间超多我们预设时间( 2s )的 SQL ,执行较快的 SQL是不会记录的。

3、profile 和explain

profile 能够在做SQL 优化时帮助我们了解时间都耗费到哪里去了
通过 have_profiling参数,能够看到当前 MySQL 是否支持 profile 操作:
1、SELECT @@have_profiling ; 
2、SET profiling = 1;  开启 profiling
3、执行sql语句
4、
EXPLAIN 或者 DESC 命令获取 MySQL 如何执行 SELECT 语句的信息,包括在 SELECT 语句执行
过程中表如何连接和连接的顺序。

4、索引设计原则

1). 针对于数据量较大,且查询比较频繁的表建立索引。
2). 针对于常作为查询条件( where )、排序( order by )、分组( group by )操作的字段建立索
引。
3). 尽量选择区分度高的列作为索引,尽量建立唯一索引,区分度越高,使用索引的效率越高。
4). 如果是字符串类型的字段,字段的长度较长,可以针对于字段的特点,建立前缀索引。
5). 尽量使用联合索引,减少单列索引,查询时,联合索引很多时候可以覆盖索引,节省存储空间,避免回表,提高查询效率。
6). 要控制索引的数量,索引并不是多多益善,索引越多,维护索引结构的代价也就越大,会影响增删改的效率。
7). 如果索引列不能存储 NULL 值,请在创建表时使用 NOT NULL 约束它。当优化器知道每列是否包含 NULL 值时,它可以更好地确定哪个索引最有效地用于查询。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/696826.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL数据库备份与还原批处理脚本

数据库备份文件,例如保存为:dump_msyql.bat REM 数据库备份 echo offREM 激活延迟环境变量扩展,防止变量赋值丢失 setlocal enabledelayedexpansionREM 获取当天时间 set today%date:~8,2%REM 大前天,当天-3天,小于10…

包装类日期日历类

一(Date类): 在JDK的java.util包中,提供了Date类用于表示日期和时间,精确到毫秒。随着JDK版本的不断升级和发展,Date类中的大部分构造方法和普通方法都已经不推荐使用。在JDK8中,Date类只有2个构造方法可以使用&#x…

【LeetCode】升级打怪之路 Day 02:有序数组平方 滑动窗口法

今日题目: 977. 有序数组的平方 | LeetCode209. 长度最小的子数组 | LeetCode76. 最小覆盖子串 | LeetCode59. 螺旋矩阵 II | LeetCode 目录 今日总结Problem 1:有序数组平方 ⭐⭐⭐Problem 2:滑动窗口法 【必会】LeetCode 209. 长度最小的子…

怎样提取WPS文档的目录?

怎样提取WPS文档的目录(智能识别目录)? 1. 将你的WPS文档打开,菜单:文件:输出为PDF,另存为(.pdf) 2. PyPDF2 从PDF文件中提取目录 运行 python pdf_read_dir.py 你的PDF文件 或者 java : pd…

【2024软件测试面试必会技能】Appium自动化(5):元素定位工具

常用元素定位工具使用 uiautomatorviewer定位工具: 元素定位主要用来获取元素信息,获取元素信息后才能用appium提供的相关API去识别和操作元素。 谷歌在AndroidSDK中,提供了元素定位工具uiautomatorviewer,该工具可在android-s…

系统学习Python——装饰器:类装饰器-[跟踪对象接口:基础知识]

分类目录:《系统学习Python》总目录 文章《系统学习Python——装饰器:类装饰器-[单例类:基础知识]》的单例示例阐明了如何使用类装饰器来管理一个类的所有实例。类装饰器的另一个常用场景是为每个生成的实例扩展接口。类装饰器基本上可以在实…

三opencv源码解压及环境变量配置

1.双击opencv-3.4.6-vc14-vc15.exe 2.选择解压的路径,点击【extract】 3.设计环境变量

从零学习Linux操作系统第二十七部分 shell脚本中的变量

一、什么是变量 变量的定义 定义本身 变量就是内存一片区域的地址 变量存在的意义 命令无法操作一直变化的目标 用一串固定的字符来表示不固定的目标可以解决此问题 二、变量的类型及命名规范 环境级别 export A1 在环境关闭后变量失效 退出后 关闭 用户级别&#xff…

《初阶数据结构》尾声

目录 前言: 《快速排序(非递归)》: 《归并排序》: 《归并排序(非递归)》: 《计数排序》: 对于快速排序的优化: 分析: 总结: 前言&#xff1a…

新疆营盘古城及古墓群安防舱体实施方案

3 总体布局 3.1设计原则 3.1.1执行有效的国家标准、国家军用标准和行业标准; 3.1.2满足指标要求; 3.1.3采用通用化、模块化设计,提高设备可维修性; 3.1.4采用人机工程学知识进行设计,充分考虑安全性。 3.2 总体…

Double-DQN算法

Double-DQN算法的原理简介、与DQN对比等。 参考深度Q网络进阶技巧 1. 原理简介 在DQN算法中,虽然有target_net和eval_net,但还是容易出现Q值高估的情况,原因在于训练时用通过target_net选取最优动作 a ⋆ argmax ⁡ a Q ( s t 1 , a ; w…

51单片机学习(3)-----独立按键控制LED的亮灭状态

前言:感谢您的关注哦,我会持续更新编程相关知识,愿您在这里有所收获。如果有任何问题,欢迎沟通交流!期待与您在学习编程的道路上共同进步了。 目录 一. 器件介绍及实验原理 1.独立按键 (1)独…

react 实现路由拦截

简单介绍下项目背景,我这里做了一个demo,前端使用mock数据,然后实现简单的路由拦截,校验session是否包含用户作为已登录的依据,react-router-dom是v6。不像vue可以设置登录拦截beforeenter,react需要我们自…

外包干了3个月,技术退步明显

先说一下自己的情况,本科生,19年通过校招进入广州某软件公司,干了接近4年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试…

Linux之用户和用户组的深入了解

目录 一、简介 1.1、用户: 1.2、用户组 1.3、UID和GID 1.3、用户账户分类 查看用户类别 超级用户root(0) 程序用户(1~499) 普通用户(500~65535) 二、用户 2.1、添加新的用户账号:useradd 2.2、删除账号:userdel 有-r与没有-r区别…

OSDI 2023: Hyrax Fail-in-Place Server Operation in Cloud Platforms

我们使用以下6个分类标准对本文的研究选题进行分析: 1. 硬件故障类型 DRAM: 此类别涉及研究如何处理内存相关的错误。这包括单比特错误,使用传统 ECC 进行校正,以及需要冗余、修复技术或隔离故障内存区域的更广泛的故障。磁盘: 此处研究将解决存储故障,尤其是 SSD 中的故障…

运维07:堡垒机

什么是跳板机 跳板机就是一台服务器而已,运维人员在使用管理服务器的时候,必须先连接上跳板机,然后才能去操控内网中的服务器,才能登录到目标设备上进行维护和操作 开发小张 ---> 登录跳板机 ---> 再登录开发服务器 测试…

贷齐乐系统最新版SQL注入(无需登录绕过WAF可union select跨表查询)

一、环境 已上传资源(daiqile) 二、代码解释 1.1Request 不管get请求还是post请求都可以接收到 1.2过滤的还挺多 1.3第二个WAF把数据分为两个了一个Key一个value,全是explode的功劳 1.4submit是if进入的前提 很明显走进来了 1.5那我们在这…

学习JAVA的第三天(基础)

目录 流程控制语句 顺序结构 分支结构 循环结构 分类: 练习 跳转控制语句 练习 数组 数组介绍 数组的定义和静态初始化 数组定义 数组的静态初始化 数组元素访问 数组遍历 数组动态初始化 JAVA内存分配 流程控制语句 顺序结构 是Java程序默认的执行流程…

UIKit 在 UICollectionView 中拖放交换 Cell 视图的极简实现

概览 UIKit 中的 UICollectionView 视图是我们显示多列集合数据的不二选择,而丰富多彩的交互操作更是我们选择 UICollectionView 视图的另一个重要原因。 如上图所示:我们实现了在 UICollectionView 中拖放交换任意两个 Cell 子视图的功能,这…