首页 > 数据库 >Mysql 工作笔记

Mysql 工作笔记

时间:2024-04-18 23:34:22浏览次数:25  
标签:name 索引 笔记 order 回表 工作 user Mysql id

一、运维相关

1、删除binlog日志

二、 索引相关

2.1、索引创建

  1. 在区分度高的字段上创建索引;
    索引区分度 = count(distint 记录) / count(记录)。

  2. 巧用组合索引实现** Index Condition Pushdown(ICP)索引下推**,避免回表。

--  先对 name 匹配索引找到 主键,在回表根据主键 找到数据记录后 判断 sex 条件
select count(id) from test1 a where name like 'cookie%' and sex = 1
-- 创建联合索引:(name,sex),通过索引数据即可完成整个条件过滤,避免回表。
  1. 巧用组合索引优化排序。
-- 使用 user_id 索引匹配到数据后,回表找到所有数据 在排序
select user_id, order_time from order where user_id = 'cookie'  order by order_time
--  创建联合索引:(user_id, order_time),通过user_id检索的数据已按order_time升序,将结果翻转即可得到降序。
  1. 联合索引注意最左匹配原则:按照从左到右的顺序匹配,mysql会一直向右匹配直到遇到范围查询(>、<、between、like)就停止匹配。
    比如 a = 1 and b = 2 and c > 3 and d = 4 如果建立(a,b,c,d)顺序的索引,d 用不到索引,如果建立(a,b,d,c)在都可以使用索引,a,b,d 的顺序可任意调整。

2.2、索引使用

  1. 使用between、>、<等区间查询,若范围太大,跨度page过多,速度也会较慢;

  2. in 检索字段使用索引不一定比关联慢;

  3. 当多个条件中有索引的时候,并且关系是and的时候,会走索引区分度高的;

  4. 谨慎使用*,最小查询。尽量去利用索引覆盖,可以减少 回表 操作 。;

  5. 查询数据都在索引树中时,出现索引覆盖,避免回表;

2.3、索引失效

  1. 对于 '%cookie'、'_cookie' 类型的模糊查询,索引失效;

  2. 索引字段为字符串,条件值为数字(如:name=1),索引失效;

  3. 索引字段使用了函数(如:concat(a.name,'1') ='cookie1'),索引失效;

  4. 索引字段使用了运算符(如: id + 1 < 2),索引失效;

标签:name,索引,笔记,order,回表,工作,user,Mysql,id
From: https://www.cnblogs.com/DeepInThought/p/18144334

相关文章

  • git学习笔记
    初始化初始化设置用户名和邮箱gitconfig--globaluser.name"zjq"#设置用户名[email protected]#设置邮箱gitconfig--globalcredential.helperstore#存储,后续无需再设置创建仓库gitinit<project-name>#创建一个新的本地仓库(省略p......
  • Python数据分析 Series 笔记
      002,pandas介绍  003,Series创建导入Pandas Series是一种类似于一维数组的对象,由下面两个部分组成:values:一组数据(ndarray类型)index:相关的数据索引标签(3.1)Series的创建两种创建方式:(1)由列表或Numpy数组创建默认索引为0到N-1的整数型索引 index和val......
  • 第二节流动式起重机的工作机构
    第二节流动式起重机的工作机构中流动式起重机的工作机构一般由起升机构、变幅机构、回转机构和行走机构等组成。喂一、起升机构丘流动式起重机的起升机构由动力装置、减速装置、卷筒及制动装置等组成。该动力装置一般是柴油机或汽油机,除用来驱动起升机构外,也用来驱动行走机构、......
  • 淘宝记录笔记
    工具下载地址:https://mirrors.huaweicloud.com/java/jdk/8u151-b12/4月16麒麟server版本安装WPShttps://wps-linux-personal.wpscdn.cn/wps/download/ep/Linux2019/11719/wps-office-11.1.0.11719-1.x86_64.rpm?t=1713262545&k=982a8181c1879f75bd3f63f94348b89e1.导入密钥......
  • 第二节起重机械的工作级别
    第二节起重机械的工作级别起重机工作级别是按起重机的利用等级和载荷状态来划分的。起重机的利用等级是表征起重机在整个设计寿命期间的使用频繁程度,按设计寿命期内总的工作循环次数来分级;起重机的载荷状态是表明起重机受载的轻重程度的指标,综合考虑利用等级和载荷状态,起重机......
  • C语言笔记
    C语言相关知识太多的缺省可见性定义C函数时,在缺省情况下函数的名字是全局可见的。可以在函数的名字前加个冗余的extern关键字。这个函数对于链接到他所在的目标文件的任何东西都是可见的。如果想限制对这个函数的访问,就必须加个static关键字。functionapple()//在任何地方均......
  • MySQL常用管理命令、常用函数小计
    1、Windows系统是MySQL服务器的关闭、重启 (mysql为服务名)关闭服务:netstopmysql启动服务:netstartmysql 2、连接mysql服务器在cmd窗口执行命令:mysql-h127.0.0.1-P3306-uroot-p -h127.0.0.1:指定主机IP  -P3306:执行mysql服务端口......
  • MySQL-8.0.33-winx64 解压版安装 [Windows]
    1、下载安装包mysql-8.0.33-winx64.ziphttps://dev.mysql.com/downloads/file/?id=5182202、安装解压mysql-8.0.33-winx64.zip(至:C:\app\mysql-8.0.33-winx64);创建my.ini文件;默认解压目录无my.ini文件,需自己创建;进入目录C:\app\mysql-8.0.33-winx64,创建my.ini,文件内容......
  • Mac 使用 brew 安装 mysql
    ##搜索可用版本brewsearchmysql##安装制定版本[email protected]##重点需要关注的安装日志如下==>[email protected]==>[email protected]_1.sonoma.bottle.tar.gz==>/usr/local/Cellar/[email protected]/8.0.36_1/bin/mysqld--initialize-insecure-......
  • 云原生之在kubernetes集群下部署mysql应用
    一、Mysql介绍数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。MySQL是一种开源的关系型数据库管理系统,可将数据保存在不同的表中,而不是将所有数据放在一个大的仓库内,从而加快了访问速度并提高了灵活性。MySQL使用了标准的SQL语言形式。支持大型的数据库,可以处理......