首页 > 数据库 >mysql sql常用优化

mysql sql常用优化

时间:2023-11-03 12:15:45浏览次数:26  
标签:小表 union where sql mysql null 优化 大表

1 explain 输出执行计划,检查order by和where后边的字段是否建立索引

2 in() 中的列不应过多,not in 和 in()数据过多 都不再走索引,使用全表扫描,连续数值可以使用between 1 and 3

3 select 后边指定字段,少用select(*)

4 where 子句中避免is null /is not null

5 应尽量避免在 where 子句中使用 or

6 尽量用union all代替union

union和union all的差异主要是前者需要将结果集合并后再进行唯一性过滤操作,这就会涉及到排序,增加大量的CPU运算,加大资源消耗及延迟。当然,union all的前提条件是两个结果集没有重复数据。

7 模糊匹配like不要使用%xxx

8 limit 1和分页灵活使用

9 用连接查询代替子查询

10 小表驱动大表

  • in 适用于左边大表,右边小表。
  • exists 适用于左边小表,右边大表。

标签:小表,union,where,sql,mysql,null,优化,大表
From: https://www.cnblogs.com/jianzhaojing/p/17807328.html

相关文章

  • Mysql 唯一联合索引和 NULL允许重复
    我内心一直认为UNIQUEKEY是唯一的只允许出现一个null但是联合索引索引就打破了这个魔咒请看演示为null原因唯一索引的作用是确保组成索引的字段的值是唯一的。users唯一索引是由name、email和lebal字段组成的。users这三个字段的组合在表中已经存......
  • 安装MySQL初始化问题由于找不到VCRUNTIME140_1.dll,无法继续执行代码。重新安装程序可
    1.关于安装MySQL初始化遇到的问题出现的是如下图错误 这是安装mysql-8.0.25初始化的时候我遇到的报错解决方法如下:安装微软常用运行库合集[下载地址,没有积分的可以评论区联系我](https://download.csdn.net/download/qq_42603590/19686518)安装好之后就不会报错了好了之......
  • 63.mysql8.0.22安装
    网址:https://dev.mysql.com/downloads/MySQLCommunityServerLinux-Generic1)切换到/data目录下2)创建mysql文件夹mkdirmysql83)切换到mysql文件夹下4)解压下载好的mysql8安装包5)重命名解压出来的文件夹,这里改成mysqlmvmysql-8.0.22mysql86)/data文件夹下创建d......
  • mysql误删数据恢复
    1,是否有备份,可以从备份里边恢复,2、通过工具从数据库binlog日志恢复(前提开始binlog日志功能)。使用my2sql工具进行恢复官网地址:https://github.com/liuhr/my2sql按照官网操作编译,或者直接下载编译好的工具如图所示 将下载好的my2sql的工具 上传到/usr/local/bin目录下 赋......
  • mysql/mariadb上建立新用户并设置远程连接
    mysql/mariadb上建立新用户并设置远程连接 没有做之前总觉得很麻烦,真的做下去了一边上网搜索一边做结果还是很简单的。。想来在LINUX下也是一样吧,最主要的就是之前的安装软件。。。2023年11月03日测试 ,用的mariadb11.1.2,服务器上安装好后命令行下连接 mysql-uroot......
  • Linux中使用Docker容器安装mysql,无法直接使用mysql命令?
    1.问题如果你在Docker容器中运行MySQL,你不能在宿主主机上使用mysql--version命令来检查MySQL版本,因为MySQL客户端工具在宿主主机上未安装。2.解释2.1方法一要查看容器内MySQL的版本,你需要进入到容器中执行相应的命令。以下是一种方法:dockerexec-itmysqlmys......
  • Zabbix6.0监控MySQL数据库
    官方文档:https://www.zabbix.com/cn/integrations/mysql部署过程:1.在MySQL数据库中创建监控账号并授权CREATEUSER'zabbix'@'%'IDENTIFIEDBY'Likun@123';GRANTUSAGE,REPLICATIONCLIENT,PROCESS,SHOWDATABASES,SHOWVIEWON*.*TO'zabbix'@�......
  • zabbix4.x安装出现“configure: error: Not found mysqlclient library”的解决办法
    一、zabbix3.x安装出现“configure:error:Notfoundmysqlclientlibrary”的解决办法1、编译安装zabbix-server出现编译时加参数:--with-mysql在编译时,可能会出现题目中所示的错误,可以通过安装mysql-devel这个库解决:yuminstall mysql-devel-y注:如果出现“......
  • Ansible操作MySQL常用的几个模块
    1. mysql_user模块mysql_user模块用来添加,删除用户以及设置用户权限创建MySQL数据库的用户与口令(非root@localhost用户),直接通过playbooks中的案例来说明吧。-name:创建MySQL数据库用户--user_testmysql_user:#-----登陆数据库login_host:"localhost"......
  • docker-compose安装mysql8+踩坑版
    一、拉取MySQL镜像我这里使用的是MySQL8.0.18,可以自行选择需要的版本。dockerpullmysql:8.0.18二、创建挂载目录mkdir-p/home/docker/mysql8/logmkdir-p/home/docker/mysql8/datamkdir-p/home/docker/mysql8/conf.d三、添加配置文件my.cnf(没有特殊需求可以跳......