iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >mysql优化技巧有何误区
  • 455
分享到

mysql优化技巧有何误区

2024-04-02 19:04:59 455人浏览 薄情痞子
摘要

本文主要给大家介绍Mysql优化技巧有何误区,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下mysql优化技巧有何误区吧。   

本文主要给大家介绍Mysql优化技巧有何误区,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下mysql优化技巧有何误区吧。        

mysql优化技巧有何误区

        上面这条技巧粗略看一眼好像也没有什么问题。可事实是这样的吗?

        

        结论当然是否定的。且看实例分析:        

CREATE TABLE `t_auxiliary_info` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `ac_id` tinyint(3) unsigned NOT NULL COMMENT '分类ID',
  `name` varchar(250) NOT NULL DEFAULT '' COMMENT '名称',
  `number` smallint(6) unsigned NOT NULL DEFAULT '1' COMMENT '编号',
  `attr` varchar(500) NOT NULL DEFAULT '' COMMENT '属性',
  `fdbid` int(10) unsigned NOT NULL COMMENT '用户ID',
  `status` tinyint(1) unsigned NOT NULL DEFAULT '1' COMMENT '状态:1有效,0无效',
  `stock_type` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '存货类型:1库存商品,2原材料,3周转材料',
  PRIMARY KEY (`id`),#请注意这里的索引
  KEY `uniq_cid_acid` (`fdbid`,`ac_id`)
) ENGINE=InnoDB AUTO_INCREMENT=645101 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC

    上面是一张普通的业务表,仔细看表中设置的索引:

  PRIMARY KEY (`id`),#主键索引
  KEY `uniq_cid_acid` (`fdbid`,`ac_id`)#联合索引        

        再使用上述的in 或not in 来实践以下,通过explain执行计划工具看看实际效果。(在这里为了公平起见,我不使用主键id,且in操作中的数据不是连续的。)        

select * 
from t_auxiliary_info 
where fdbid in('1000','1500','1234','5155','6789','3423','5368','245645');        
在上面的sql中,我们使用包含在联合索引`uniq_cid_acid`中的字段 `fdbid`作为搜索条件 

       见证奇迹的时刻到了。


mysql优化技巧有何误区    

        通过执行计划, 我们可以清晰的看到这条sql的检索类型为简单简单检索,属于范围查询,且已经使用到了索引  uniq_cid_acid,且没有全表扫描(扫描行数为2804,而本表中数据条数为645101)。

       

        由此可以得出结论:不是所有sql中的in查询会全表扫描。这里推翻了in会导致全表扫描的结论。


        那么在什么情况下,使用in操作一样可以使用到索引,不会全表扫描呢?

       答:  in的字段必须是带有索引的字段。

       ps:  in(...) 中的数据最好加上引号,即使字段类型是数字。


        在 看看not in       

select * 
from t_auxiliary_info 
where fdbid not in(1000,1500,1234,5155,6789,3423,5368,245645);

  

        真相在这里:

mysql优化技巧有何误区

not in确实会全表扫描。

看完以上关于mysql优化技巧有何误区,很多读者朋友肯定多少有一定的了解,如需获取更多的行业知识信息 ,可以持续关注我们的数据库栏目的。

您可能感兴趣的文档:

--结束END--

本文标题: mysql优化技巧有何误区

本文链接: https://www.lsjlt.com/news/35139.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • mysql优化技巧有何误区
    本文主要给大家介绍mysql优化技巧有何误区,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下mysql优化技巧有何误区吧。    ...
    99+
    2022-10-18
  • MySQL优化技巧有哪些
    本篇内容主要讲解“MySQL优化技巧有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL优化技巧有哪些”吧!SQL 优化已经成为衡量程序猿优秀与否的硬...
    99+
    2022-10-18
  • 优化MySQL有哪些技巧
    不知道大家之前对类似优化MySQL有哪些技巧的文章有无了解,今天我在这里给大家再简单的讲讲。感兴趣的话就一起来看看正文部分吧,相信看完优化MySQL有哪些技巧你一定会有所收获的。    ...
    99+
    2022-10-18
  • 优化MySQL的技巧有哪些
    这篇文章主要介绍优化MySQL的技巧有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!SQL执行慢的原因网络速度慢,内存不足,I/O吞吐量小,磁盘空间满了等硬件问题没有索引或者索引...
    99+
    2022-10-18
  • mysql join优化的技巧有哪些
    优化MySQL JOIN操作可以提高查询性能,以下是一些常见的优化技巧:1. 使用合适的索引:确保参与JOIN的列都有合适的索引,这...
    99+
    2023-10-23
    mysql join
  • Mysql索引优化技巧有哪些
    Mysql索引优化的一些技巧包括: 使用合适的数据类型:选择合适的数据类型来存储数据,避免使用过大或者不必要的数据类型,能够减小...
    99+
    2023-10-28
    Mysql
  • 优化MySQL的小技巧
    这篇文章主要介绍了优化MySQL的小技巧,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.没有两个数据库或者应用程序是完全相同的。这里假设我...
    99+
    2022-10-18
  • MySQL调试与优化技巧有哪些
    这篇文章给大家分享的是有关MySQL调试与优化技巧有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。MySQL 服务器硬件和操作系统调节:1. 拥有足够的物理内存来把整个Inn...
    99+
    2022-10-18
  • mysql数据库有哪些优化技巧
    小编给大家分享一下mysql数据库有哪些优化技巧,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1.为查询缓存优化你的查询大多数的...
    99+
    2022-10-19
  • mysql 数据库优化技巧
    mysql 数据库优化  包括  a.表的设计合理化(符合3NF)  b.添加适当索引(index[4种:普通索引 主键索引 唯一索引unique  全文索引])  ...
    99+
    2022-05-13
    数据库优化 mysql 技巧
  • linux上优化mysql有哪些好的技巧
    下文主要给大家带来linux上优化mysql有哪些好的技巧,希望这些内容能够带给大家实际用处,这也是我编辑linux上优化mysql有哪些好的技巧这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。&n...
    99+
    2022-10-18
  • Linux系统中MySQL优化技巧有哪些
    今天小编给大家分享一下Linux系统中MySQL优化技巧有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1.禁止操作系统...
    99+
    2023-06-28
  • MySQL优化SQL语句的技巧
    在面对不够优化、或者性能极差的SQL语句时,我们通常的想法是将重构这个SQL语句,让其查询的结果集和原来保持一样,并且希望SQL性能得以提升。而在重构SQL时,一般都有一定方法技巧可供参考,本文将介绍如何通过这些技巧...
    99+
    2022-05-24
    MySQL 优化 mysql sql语句 mysql 优化sql语句
  • MySQL性能优化技巧分享
    MySQL性能优化 在互联网公司MySQL的使用非常广泛,大家经常会有MySQL性能优化方面的需求。整理了一些在MySQL优化方面的实用技巧。 Schema与数据类型优化 整数通常是标识列最好的选择,因为它...
    99+
    2022-05-20
    MySQL 性能优化 MySQL 优化
  • MySQL 8.0 对 limit 的优化技巧
    目录一、前言二、mysql 8.0 对limit 的改进三、实践出真知3.1 默认开启参数3.2 关闭该参数四、总结一、前言 提到 limit 优化,大多数 MySQL DBA 都不会陌生,能想到各种应对策略,比如延迟关...
    99+
    2022-10-20
  • 优化MySQL的3个小技巧
    这篇文章将为大家详细讲解有关优化MySQL的3个小技巧,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。我并不期望成为一个专家级的 DBA,但是,在我优化 MySQL 时,我...
    99+
    2022-10-18
  • MySQL 8.0 对 limit 的优化技巧
    目录一、前言二、MySQL 8.0 对limit 的改进三、实践出真知3.1 默认开启参数3.2 关闭该参数四、总结一、前言 提到 limit 优化,大多数 MySQL DBA 都不...
    99+
    2022-11-13
    MySQL 8.0  limit优化 MySQL 8.0  limit
  • mysql排序分页优化的技巧有哪些
    以下是一些优化MySQL排序和分页的技巧:1. 使用索引:在排序和分页查询中,合适的索引可以大大提高查询性能。确保在排序和分页的列上...
    99+
    2023-10-23
    mysql
  • MySQL 原理优化之Group By的优化技巧
    今天来看看mysql 中如何多Group By 语句进行优化的。 先创建tb_user 表如下: 通过show index from tb_user; 命令查看表,没有存在任何的索引。 执行如下代码,查看SQL 执行...
    99+
    2022-08-14
    MySQL 原理优化 MySQLGroup By的优化技巧
  • SQL优化技巧有哪些
    这篇文章主要讲解了“SQL优化技巧有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SQL优化技巧有哪些”吧!一、索引优化索引的数据结构是 B+Tree,...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作