首页 > 数据库 >如何理解mysql小表驱动大表

如何理解mysql小表驱动大表

时间:2024-06-04 09:02:02浏览次数:23  
标签:小表 齿轮 数据量 mysql 驱动 小齿轮 大表

就像自行车爬坡一样么,小齿轮驱动大齿轮

MySQL采用“小表驱动大表”的策略,确实在某种程度上类似于自行车爬坡时小齿轮驱动大齿轮的原理,目的都是为了更高效地利用有限的资源达到目标。

在数据库查询的上下文中,这个策略背后的逻辑可以这样理解:

1. **效率最大化**:小表数据量少,遍历小表的成本低。将其作为驱动表,意味着只需要较少的迭代次数就能完成匹配尝试。这就好比使用小齿轮踏动,每踏一圈虽然力量有限,但频率快,能快速响应。

2. **资源优化**:大表数据量大,直接遍历成本高。通过小表中的记录去匹配大表,相当于每次匹配尝试都是有目标的,减少了对大表无谓的全表扫描。大齿轮虽然转动一圈覆盖的距离远,但需要的力矩更大,通过小齿轮驱动可以更省力地达到相同的效果。

3. **索引利用**:在大表上有针对性地利用索引,进一步提高了匹配速度。就像大齿轮的齿比设计,让每一次小齿轮的转动都能高效转换成车轮的推进力。

4. **性能提升**:最终,这样的设计减少了整体的I/O操作和CPU计算,提升了查询性能,特别是在大数据量的场景下,效果更为显著。正如在爬坡时,合理的齿比可以让骑行者用更少的体力达到更高的效率。

因此,小表驱动大表的策略,就是通过巧妙的设计,利用有限的资源(小表的少量记录)高效地撬动大量数据(大表)的处理,从而在数据查询和处理中达到更高的效率和性能。

标签:小表,齿轮,数据量,mysql,驱动,小齿轮,大表
From: https://www.cnblogs.com/maidongdong/p/18230065

相关文章

  • 成为MySQL DBA后,再看ORACLE数据库(六、逻辑存储结构)
    数据库的逻辑存储结构也可以叫做存储层次体系,ORACLE的存储层次体系按照层次从高到低分为:表空间(tablespace)、段(segment)、区(extent)、块(block)。熟悉数据库的逻辑存储结构可以帮助我们分析与定位数据库的空间容量问题。一、段段是表空间的主要组织结构。段就是占用存储空间的数据库......
  • MySQL——事务补充
    十一、RR和RC的本质区别select*from表名(lockinsharemode)#当不加共享锁时,说明此时进行的是快照读,加了共享锁则进行的是当前读;​当进行快照读的时候才会形成readview结构;​readview形成的时机不同,会影响事务的可见性,会造成RR和RC级别下事务可见性的不同;当RR......
  • 基于SSM+Jsp+Mysql的高校二手交易平台
    开发语言:Java框架:ssm技术:JSPJDK版本:JDK1.8服务器:tomcat7数据库:mysql5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:Maven3.3.9系统展示前台首页用户注册用户登录个人中心商品信息管理员登录商品上架管理商品信息管理客服聊天管......
  • 【MySQL】MySQL Connect -- 详解
    一、Connector /C使用要使用 C 语言连接MySQL,需要使用MySQL 官网提供的库,可以去官网进行下载:MySQL::MySQLCommunityDownloads我们使用 C 接口库来进行连接,要正确使用,还需要做一些准备工作:保证 MySQL 服务有效。在官网上下载合适自己平台的 MySQLConnec......
  • 持续性学习-Day17(MySQL)
    1、初识MySQLJavaEE:企业级Java开发Web前段(页面展示,数据)后端(连接点:连接数据库JDBC;链接前端:控制,控制反转,给前台传数据)数据库(存数据)1.1数据库分类关系型数据库(SQL):MySQL、Oracle、SqlServer、DB2、SQLlite通过表和表、行和列之间的关系进行数据的存储非关系型数......
  • 在MySQL中,你可以使用动态SQL和存储过程来根据元数据表查询多个表,并将结果集合并。以下
    DELIMITER$$CREATEPROCEDUREMergeDataFromTables()BEGIN--游标声明DECLAREdoneINTDEFAULTFALSE;DECLAREtbl_nameVARCHAR(255);DECLAREcurCURSORFORSELECT表明FROMtable_col;DECLARECONTINUEHANDLERFORNOTFOUNDSETdone=TRU......
  • kylinV10SP3安装MySQL5.7.44
    需要的安装包:mysql-community-common-5.7.44-1.el7.x86_64.rpmmysql-community-libs-5.7.44-1.el7.x86_64.rpmmysql-community-client-5.7.44-1.el7.x86_64.rpmmysql-community-server-5.7.44-1.el7.x86_64.rpm开始安装,安装顺序:common->libs->client->serverrpm-ivhmysq......
  • mysqlwirter
    DataXMysqlWriter1快速介绍MysqlWriter插件实现了写入数据到Mysql主库的目的表的功能。在底层实现上,MysqlWriter通过JDBC连接远程Mysql数据库,并执行相应的insertinto...或者(replaceinto...)的sql语句将数据写入Mysql,内部会分批次提交入库,需要数据库本......
  • MySQL从入门到高级 --- 12.事务 && 13.锁机制 && 14.日志
    文章目录第十二章&&第十三章&&第十四章:12.事务12.1特性12.2隔离级别13.锁机制13.1各存储引擎对锁的支持状况:13.2锁特性13.3MyISAM表锁13.3.1加表锁13.4InnoDB行锁13.4.1行锁特点13.4.2行锁模式14.日志14.1错误日志14.2二进制日志14.2.1日志格式14.3......
  • mysql 树形结构存储方案
    在MySQL中存储树形结构数据时,通常会遇到查询性能和数据维护的问题,特别是当树形结构较深或者数据量大时。以下是一些优化树形结构存储的方案:邻接列表模型(AdjacencyListModel):这是最直接的方法,即在每个节点记录中包含其父节点的ID。优点:实现简单,易于理解和操作。缺......