自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

为无为,事无事,味无味。

大小,多少,抱怨,以德。图难乎,其易也;为大乎,其细也;天下之难,作于易;天下之大,作于细。是以圣人终不为大,故能成其大。夫轻诺,必寡信;多易必多难。是以圣人犹难之,故终无难矣。

  • 博客(1059)
  • 资源 (6)
  • 收藏
  • 关注

原创 合格程序员每天每周每月每年应该做的事

程序员每天该做的事 1、总结自己一天任务的完成情况 最好的方式是写工作日志,把自己今天完成了什么事情,遇见了什么问题都记录下来,日后翻看好处多多 2、考虑自己明天应该做的主要工作 把明天要做的事情列出来,并按照优先级排列,第二天应该把自己效率最高的时间分配给最重要的工作 3、考虑自己一天工作中失误的地方,并想出避免下一次再犯的方法 出错不要紧,最重要的是不要重复犯相同的错误,那是愚蠢 4、考虑自

2009-11-18 12:45:00 1979 3

原创 科普文:软件架构Linux系列之【安全加固:高危端口】

大家都知道,IP地址用于标识网络中的计算机。TCP/IP协议把一个IP地址和另一个IP地址连接起来,形成了网络。一台计算机上通常运行着很多服务。例如,允许客户访问网页的Web服务,允许管理员配置服务器的SSH服务,或者用于传输文件的FTP服务等。那么,怎么区分同一台计算机上的不同服务呢?为此,人们设计了端口的概念。端口由数字指定,即端口号。计算机上每种类型的服务都要提供一个端口,等待通信对端从动态端口发来的数据包。例如,Web服务常用的端口号是80(用于HTTP)或443(用于HTTPS)。

2024-10-06 08:45:31 418

原创 科普文:软件架构Linux系列之【Linux内核SCI(System Call Interface)一问一答梳理】

Linux是一套免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年第一次释出,它主要受到Minix和Unix思想的启发,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。系统调用是操作系统提供的一组接口,允许应用程序与操作系统内核进行交互。通过系统调用,应用程序可以请求操作系统执行特定的功能或获取某些资源。fork():创建一个新的进程作为当前进程的副本。

2024-10-05 08:26:54 1637

原创 科普文:软件架构Linux系列之【五种IO模型之高性能IO技术梳理】作者|Jiong Chen

本文主要从新兴硬件背景和 NVMe SSD 介绍开始,重点阐述了 Linux 系统下同步 IO 技术及其性能瓶颈点分析。同时对目前业界高性能存储 IO 的几大技术和相应的基本原理做了一些简单介绍,希望本文能对各个工程应用上的同学能有所借鉴和帮助。

2024-10-05 08:15:54 1117

原创 科普文:软件架构Linux系列之【DDoS】

前面在整理网络攻击时,有梳理DDos攻击的防御及其基本概念,今天这里主要是详细讲解ddos究竟是在攻击啥?以及如何攻击?这些攻击背后的基本概念、过程、原理。方便对ddos有更好的认识。分布式拒绝服务(DDoS)攻击是一种常见的网络攻击形式,攻击者通过向目标服务端发送大量的请求,使目标服务端无法进行网络连接,无法正常提供服务。

2024-10-05 02:00:00 663

原创 科普文:软件架构Linux系列之【I/O 多路复用梳理】

和传统的多进程/多线程支持并发 IO 相比,I/O 多路复用最大的优势就是系统开销小,不必创建大量的进程/线程 (自然也没有维护这些资源带来的额外开销),此外,I/O 多路复用是非阻塞的,可以尽可能地提高服务器的吞吐能力,所以广泛应用于现代网络编程中,,select 和 poll 在 (套接字对应的) 文件描述符状态发生变化后,没有对应的事件回调机制,需要调用方主动 (轮询) 将文件描述符集合从用户空间复制到内核空间,内核修改完成后,再从内核空间复制到用户空间,两次的上下文切换会带来不小的开销。

2024-10-04 19:40:47 771

原创 科普文:软件架构Linux系列之【五种 I/O 模型-补】

Unix有五种 I/O 模型阻塞式 I/O 非阻塞式 I/O I/O 多路复用(select, poll, epoll)信号驱动式 I/O 异步 I/O(AIO)。阻塞 / 非阻塞的主语是 I/O 操作调用者(应用进程),而同步 / 异步的主语是 I/O 操作执行者(操作系统)。

2024-10-04 19:32:53 907

原创 科普文:软件架构服务器系列之【MPP大规模并行处理架构及其应用MPPDB梳理】

MPP是系统架构角度的一种服务器分类方法。MPP (Massively Parallel Processing),即大规模并行处理,在数据库非共享集群中,每个节点都有独立的磁盘存储系统和内存系统,业务数据根据数据库模型和应用特点划分到各个节点上,每台数据节点通过专用网络或者商业通用网络互相连接,彼此协同计算,作为整体提供数据库服务。非共享数据库集群有完全的可伸缩性、高可用、高性能、优秀的性价比、资源共享等优势。

2024-10-02 08:48:40 1774

原创 科普文:软件架构服务器系列之【3款CPU架构(SMP, NUMA, MPP)和2款共享存储架构(UMA和NUMA)梳理】

原本是整一个MPP(大规模并行处理结构),毕竟在分布式和多核并行技术成熟的今天,MPP才是王道。依托于MPP发展出来的MPP架构OLAP引擎,包装之后就是MPPDB;MPPDB一款 Shared Nothing 架构的分布式并行结构化数据库集群,具备高性能、高可用、高扩展特性,可以为超大规模数据管理提供高性价比的通用计算平台,并广泛地用于支撑各类数据仓库系统、BI 系统和决策支持系统。MPPDB 主要包括等。不过今天我们还是扯淡一下基础概念:SMP, NUMA, MPP。

2024-10-02 08:32:18 937

原创 科普文:软件架构数据库系列之【MySQL锁梳理】

由以上可知,数据库的锁机制本身是为了解决并发事务带来的问题而诞生的,主要是确保数据库中,多条工作线程并行执行时的数据安全性。锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算资源(CPU、RAM、I/O)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。

2024-10-01 11:30:36 716

原创 科普文:软件架构数据库系列之【MySQL 执行DQL/DML/DDL必加的自动表级锁:MDL元数据锁Meta Data Lock】

MDL全称为metadata lock,即元数据锁,DML/DQL/DDL等语句会自动加上MDL元数据锁。本文主要分三方面来详解MDL锁,首先介绍了MDL锁产生的原因及作用,然后我们模拟出MDL锁,并给出查找及解决方法,最后给出几点避免MDL锁的建议。其实,MDL锁在DB运维过程中经常遇到,它不是洪水猛兽,只是为了保护数据库对象,保证数据一致性。希望大家看完这篇文章后能对MDL锁有更清晰的认识。

2024-10-01 10:21:02 1039

原创 水文:图解存量房贷利率咋个降

比如你的房贷利率当前定价为LPR+0.2%,那么按照新政,你的加点数可以下降0.5%,变成LPR-0.3%。市场情况不同,即使资质差不多的人,有的可能加点+0.3%,而有的可能是-0.1%,差别还是蛮大的。,有的城市会要求银行在给客户贷款的时候,不能低于一定标准,这就是。假设有个客户原来选择固定利率4%不浮动,‍‍‍‍‍‍‍‍‍‍‍‍。我们以前的重定价日一般是每年1次,而现在取消限制,可以与银行。这个日子是你贷款的时候就和银行确定好的,一般为每年的。通常情况下,房贷利率中的LPR每年只调整一次。

2024-09-30 13:18:56 795

原创 水文:多家银行深夜发布存量房贷利率调整日期

公告称,该行积极响应市场利率定价自律机制倡议,正在依法有序开展存量商业性个人住房贷款利率调整的准备工作,拟于2024年10月12日发布具体操作事宜,2024年10月31日之前统一对存量商业性个人住房贷款利率实施批量调整。公告称,积极响应自律机制倡议,正在依法有序推进降低存量商业性个人住房贷款利率工作。公告称,将按照市场化、法治化原则,通过多渠道提供便利服务,依法合规开展好利率调整工作,将于2024年10月12日发布具体操作事宜,2024年10月31日之前统一对存量商业性个人住房贷款利率实施批量调整。

2024-09-30 13:13:27 349

原创 科普文:软件架构数据库系列之【MySQL8.0新特性--全局参数持久化和自增主键持久化】

MySQL 8.0 版本支持在线修改全局参数并持久化,通过加上 PERSIST 关键字,可以将修改的参数持久化到新的配置文件(mysqld-auto.cnf)中,重启 MySQL 时,可以自动从该配置文件(mysqld-auto.cnf)获取到最新的配置参数。自增主键持久化,这个特性只是为了修复“Bug #199Innodb autoincrement stats los on restart” ,将自增主键的计数器持久化到redo log中。

2024-09-30 08:35:20 1412

原创 科普文:软件架构数据库系列之【MySQL8.4 统计信息失效的解决方案】

MySQL优化器依赖于表的统计信息的准确性来选择最优的执行计划。我们可以通过更改参数 innodb_stats_persistent_sample_pages 来控制系统采集表统计信息的准确性。我们还可以选择通过在对索引进行碎片整理的同时重建/重建表来强制重新计算表统计信息,这有助于提高表统计信息的准确性。重构表,我们可以直接用 alter table xx; 修改表或者使用 pt-online-schema-change 达到同样的效果。

2024-09-29 18:19:16 588

原创 科普文:软件架构数据库系列之【MySQL的统计信息】

column_statistics数据字典表存储关于列值的直方图统计信息,优化器在构造查询执行计划时使用。要执行直方图管理,请使用ANALYZE TABLE语句。该表包含除几何类型(空间数据)和JSON之外的所有数据类型列的统计信息。该表是持久的,因此不必在每次服务器启动时创建列统计信息。服务器对表执行更新;用户不。用户不能直接访问column_statistics表,因为它是数据字典的一部分。使用INFORMATION_SCHEMA可以获得直方图信息。

2024-09-29 17:52:06 1258

原创 科普文:软件架构数据库系列之【MySQL中select查询命令执行流程】谢榕彪

这里具体介绍 Expression 在 MySQL 是如何编译执行的,即 query 的衡量,评估,执行是如何实现的。首先简单介绍一下 MySQL 中的 Expression 的含义是什么?

2024-09-29 16:38:35 1184

原创 科普文:软件架构数据库系列之【浅析MySQL优化器CBO代价估计器】田镜祺

代价估计器(Cost Estimates)是Cost-Based Optimizer(简称CBO)中关键的一个组件。简单来说,它的作用是评估对于一个表使用某种Access Path获取数据时,在磁盘IO,CPU上的cost。数据库支持的Access Path,IO,CPU代价计算其实与数据库的存储引擎特性关系紧密。也因此,虽然代价估计器是优化器的一个关键组件,但具体实现时却会与存储引擎有着更加紧密的联系。

2024-09-29 16:25:32 1004

原创 科普文:软件架构数据库系列之【MySQL优化器之统计信息、直方图梳理】

如上图所示,MySQL作为C/S架构的RDBMS,在客户端发送一条SQL命令后,要经过如上过程,完成服务端mysqld进程对SQL命令的处理。具体梳理如下:连接器:处理客户端连接、进行权限验证、线程池管理等。分析器(解析器):词法与语法分析,生成SQL解析树。优化器:依据SQL解析树、统计信息、数据字典,在CBO优化器的综合抉择下生成SQL的执行计划。执行器:依据优化器生成的SQL执行计划,执行SQL,通过存储引擎接口从存储引擎将数据加载到内存进行处理。本文主要介绍这一过程中CBO的依据统计信息、直方图。

2024-09-29 14:51:26 1430

原创 科普文:软件架构数据库系列之【MySQL统计信息的现状和发展】

我们知道查询优化问题其实是一个搜索问题。基于代价的优化器 ( CBO ) 由三个模块构成:计划空间、搜索算法和代价估计 [1] ,分别负责“看到”最优执行计划和“看准”最优执行计划。如果不能“看准”最优执行计划,那么优化器基本上就是瞎忙活,甚至会产生严重的影响,出现运算量特别大的 SQL ,造成在线业务的抖动甚至崩溃。在上图中,代价估计用一个多项式表示,其系数 c 反应了硬件环境和算子特性,而数值 n 则由查询条件基于统计信息计算而得到。

2024-09-28 09:03:49 871

原创 科普文:软件架构数据库系列之【经典的火山模型执行引擎Vastbase】

Vastbase使用了经典的Tuple-At-A-Time模型,也即火山模型(Volcano-Model) 数据库的执行以算子迭代的方式进行驱动执行,每个算子抽象成为 open()/next()/close()三种类型操作,上层算子通过嵌套调用下层的next()进行处理 数据的返回,同样初始化的过程和结束过程也通过open()/close()嵌套调用,火山模型也是大多数传统数据库实现的执行模型,对比我们的数据库就是ExecutorStart、ExecutorRun、ExecutorEnd。

2024-09-28 06:39:49 687

原创 科普文:软件架构数据库系列之【MySQL数据库SQL命令和SQL标准梳理】

MySQL完全兼容SQL92/SQL99,MySQl8.0开始支持窗口函数,也就部分支持SQL2003标准。SQL功能极强,但由于设计巧妙,语言十分简洁,完成数据定义、数据操纵、数据控制的核心功能只用了9个动词:CREATE、ALTER、DROP、SELECT、INSERT、UPDATE、DELETE、GRANT、REVOKE。SQL分为DQL、DML、DDL、DCL、CCL、TCL六类

2024-09-27 12:01:43 1808

原创 科普文:软件架构数据库系列之【MySQL 8.0 执行计划源码概叙】

在MySQL中,执行计划的实现是基于JOIN和QEP_TAB这两个对象。其中JOIN类表示一个查询语句块的优化和执行,每个select查询语句(即Query_block对象)在处理的时候,都会被当做JOIN对象,其定义在。QEP_TAB是的缩写,这里的表Table对象主要包含物化表、临时表、派生表、常量表等。是优化执行器的统一入口,在这里会把一个查询语句块最终优化成QEP_TAB。在MySQL-8.0.22版本之后,又引入访问方式AccessPath和执行迭代器Iterator。

2024-09-27 05:43:36 334

原创 科普文:软件架构数据库系列之【MySQL 8.0 Server层源码概叙】作者 | 道客

本文主要focus在MySQL最新版本官方的源码上,重点分析了官方的重构在多阶段和各阶段结构上的变化和联系,更多的是为了让大家了解一个全新的MySQL的发展。本文基于MySQL 8.0.25源码进行分析和总结。这里MySQL Server层指的是MySQL的优化器、执行器部分。我们对MySQL的理解还建立在5.6和5.7版本的理解之上,更多的是对比PostgreSQL或者传统数据库。然而从MySQL 8.0开始,持续每三个月的迭代和重构工作,使得MySQL Server层的整体架构有了质的飞越。下面来看下M

2024-09-27 05:26:33 728

原创 科普文:软件架构数据库系列之【MySQL8新特性--执行器之火山模型(Iterator Model)】

三种常见的数据库查询引擎执行模型:Iterator Model、Materialization Mod。火山模型是数据库查询执行最著名的模型,也是在各种数据库系统中应用最广泛的模型。SQL语句在数据库中经过语法解析生产 AST 语法树,然后遍历语法树,生成执行树。执行树的每个节点为代数运算符(Operator)。火山模型把Operator看成迭代器,每个迭代器都会提供一个next() 接口。一般Operator的next() 接口实现分为三步(1)调用子节点Operator的next() 接口获取一行数据

2024-09-26 11:57:42 1206

原创 科普文:软件架构数据库系列之【MySQL和服务器】

MySQL的性能,不仅需要关注数据库内部的配置和优化,还需要考虑外部硬件资源的配置和性能。CPU及内存:缓存数据访问、比较、排序、事务检测、SQL解析、函数或逻辑运算;网络:结果数据传输、SQL请求、远程数据库访问(dblink);硬盘:数据访问、数据写入、日志记录、大数据量排序、大表连接。通过合理配置CPU、增加内存、使用高性能的硬盘以及确保网络连接的稳定和高速,可以显著提升MySQL的整体性能‌。备注:具体关于硬件、系统内核参数、数据库系统参数的配置和优化稍后再进行统一说明。

2024-09-24 11:52:43 1328

原创 科普文:软件架构数据库系列之【MySQL 8.0新特性--函数索引functional indexes】

MySQL 8.0.13引入了函数索引,在MySQL之前版本中,未支持函数索引,被人诟病,虽然可以通过generated column实现类似功能,但并不完美和方便。MySQL 8.0.13引入函数索引主要解决某些场景下的查询优化问题,通常来说索引使用的是列值或者列值的前缀部分。后面我们也可以看看subtr(col1,1,10)的函数索引和前缀索引INDEX (col1(10))。

2024-09-22 09:03:55 1927

原创 科普文:软件架构数据库系列之【MySQL 8.4 LTS版本20个 InnoDB系统变量默认值修改说明】

前面的文章中有提到mysql8.4对 20 个 InnoDB 变量的默认值做了修改,在这里我们详细看看这20个系统参数。

2024-09-21 05:24:41 1220

原创 科普文:软件架构数据库系列之【MySQL8.0新特性-并行DDl-innodb_ddl_threads】

前面我们讲到MySQL8.0.14版本增加了其第一个并行查询特性,可以支持在聚集索引上做SELECT COUNT()和check table操作。innodb_ddl_threads: 用于索引创建的最大并行线程数。MySQL 8.0.27 中添加。DDL 一向是业务的痛点,尤其是对大型表的 DDL 操作,具有操作时间久,对性能影响大,可能影响业务正常使用等问题。本文详细解释 MySQL DDL 的原理,以及尽可能减少 DDL 对业务的影响的办法。

2024-09-19 23:41:13 994

原创 科普文:软件架构数据库系列之【MySQL8.0新特性-并行查询innodb_parallel_read_threads】

世界上最好的关系数据库是Oracle,没有之一。和Oracle比起来,MySQL的并行还有很大的提升空间,就看Oracle会不会在未来的版本中全面引入oracle中的并行(并行DML、并行DDL、并行DQL),毕竟现在只是在MySQL8.0.14版本增加了其第一个并行查询特性,可以支持在聚集索引上做SELECT COUNT()和check table操作。innodb_parallel_read_threads从MySQL 8.014开始,MySQL开始针对之前大家吐槽的查询的效率的问题,进行变动,这个参

2024-09-19 23:10:38 1642

原创 科普文:软件架构数据库系列之【MySQL控制查询优化器Hints】

MySQL Hints提供了一种灵活的方式,让开发者能够手动控制查询优化器的行为,从而实现特定的性能优化目标。在使用Hints时,需要充分理解其语法和作用范围,并结合实际需求进行合理配置。同时,Hints应作为优化手段的补充,而不是唯一手段,建议优先通过索引优化、查询重写等方式提升性能。通过合理使用Hints,我们可以更好地控制查询优化器的选择,提升MySQL查询的整体性能。

2024-09-14 13:31:30 1539

原创 科普文:软件架构数据库系列之【MySQL执行计划Extra梳理】

关于数据库慢、SQL执行过程、以及MySQL的执行计划可以参考上面文章。关于MySQL的查询优化器,以及常见的Index merge索引合并、ICP索引查询条件下推、MRR多范围读、Hash join 哈希连接、BNL块嵌套循环连接等可以参考上面的文章。其他优化器、以及数据库级别的优化,可参考官网。MySQL5.6之后,有着严格的sql检查机制,可参考上面的sql_mode。通常情况下当Extra中出现了Using filesort、Using temporary或Using where,则说明SQL需要优

2024-09-14 10:05:46 1312

原创 科普文:软件架构数据库系列之【MySQL查询优化器中的优化策略optimizer_switch--Hash Join和BNL(Block Nested Loop)优化器】

为了减少访问被驱动表的次数,我们可以首先将驱动表的数据批量加载到 Join Buffer(连接缓冲),然后当加载被驱动表的记录到内存时,就可以一次性和多条驱动表中的记录做匹配,这样可大大减少被驱动表的扫描次数,这就是 BNL 算法的思想。在嵌套循环中,内表被外表驱动,外表返回的每一行都要在内表中检索找到与它匹配的行,因此整个查询返回的结果集不能太大(大于1 万不适合),要把返回子集较小表的作为外表(CBO 默认外表是驱动表),而且在内表的连接字段上一定要有索引。实际上,MySQL 并不会使用此算法。

2024-09-13 21:29:09 830

原创 科普文:软件架构数据库系列之【MySQL查询优化器中的优化策略optimizer_switch-- Index Merge 索引合并 优化器】

索引合并是通过对一个表同时使用多个索引进行条件扫描,并将满足条件的多个主键集合取交集或并集后再进行回表,可以提升查询效率。:将基于多个索引扫描的结果集取交集后返回给用户;union:将基于多个索引扫描的结果集取并集后返回给用户;sort-union:与union类似,不同的是sort-union会对结果集进行排序,随后再返回给用户;

2024-09-13 01:00:00 1084

原创 科普文:软件架构数据库系列之【MySQL查询优化器中的优化策略optimizer_switch--MRR 优化器】

参数read_rnd_buffer_size用来控制键值的缓冲区大小,会先读区一页的数据,或者需要的数据在buffer中进行排序,然后,根据顺序进行读取,防止磁盘随机读取。read_rnd_buffer_size ,是用来设置用于给 rowid 排序的内存的大小,显然, MRR 在本质上是一种用空间换时间的算法 ,MySQL 不可能给你无限的内存来进行排序,如果 read_rnd_buffer 满了,就会先把满了的 rowid 排好序去磁盘读取,接着清空,然后再往里面继续放 rowid,直到 read_r

2024-09-13 00:45:00 987

原创 科普文:软件架构数据库系列之【MySQL的sql_mode参数】

sql_mode是MySQL的一个系统变量,用于设置服务器对SQL语句的解析和执行规则。它可以影响MySQL的行为,包括语法规范、数据校验、数据类型转换和错误处理等。sql_mode是个很容易忽视的变量,默认值是空值,在这种设置下是可以允许一些非法操作的,比如允许一些非法数据的插入。在生产环境必须将这个值设置为严格模式,所以开发、测试环境的数据库也必须要设置,这样在开发测试阶段就可以发现问题。本文介绍sql_mode的参数取值规则和取值解释,您可以根据实际业务进行调整。

2024-09-13 00:15:00 1088

原创 科普文:软件架构数据库系列之【MySQL查询优化器中的优化策略optimizer_switch--ICP索引下推】

索引下推 (Index Condition Pushdown,索引条件下推,简称 ICP),是 MySQL5.6 版本的新特性,它可以在对联合索引遍历过程中,对索引中包含的所有字段先做判断,过滤掉不符合条件的记录之后再回表,能有效的减少回表次数(目前我们使用的 mysql 版本较高,一般大家可能感觉这是正常的,但是 mysql5.6 之前都不是这样实现的,下面会细细道来)。Index Condition Pushdown (ICP)是MySQL使用索引从表中检索行的一种优化。

2024-09-13 00:00:00 1742

原创 科普文:软件架构数据库系列之【MySQL解析器和优化器】

目前对于MySQL来说 执行计划还是比较准确的,但也会在碰到执行计划不准确情况。这个取决于优化器的成本模型的设计是否完善、是否科学 直接决定着优化器计算构建出执行计划是否准确,是否达到了最优的选择。随着版本越来越迭代更新,逐步在完善,智能化中,如:MySQL8.0 Autopilot功能(自动预配和自动查询执行计划改善)。

2024-09-12 23:45:43 1228

原创 科普文:软件架构数据库系列之【图解MySQL】

举个例子,比如执行器可能会先调用存储引擎的一个接口,去获取“users”表中的第一行数据,然后判断一下这个数据的"id"字段的值是否等于我们期望的一个值,如果不是的话,那就继续调用存储引擎的接口,去获取“users”表的下一行数据。其实我们现在还漏了一个执行器的概念,这个执行器会根据优化器选择的执行方案,去调用存储引擎的接口按照一定的顺序和步骤,就把SQL语句的逻辑给执行了。那么看完存储引擎之后,我们回过头来思考一个问题,存储引擎可以帮助我们去访问内存以及磁盘上的数据,那么是谁来调用储存引擎的接口呢?

2024-09-12 23:08:54 966

原创 科普文:软件架构数据库系列之【MySQL查询优化器中的优化策略optimizer_switch】

注意:修改 optimizer_switch 的设置可能会对数据库性能产生显著影响,因此建议在修改之前先备份当前的设置,并在非生产环境中进行测试。通过调整这些标志,数据库管理员可以精细地控制查询优化器的行为,以达到最佳的性能表现。它的值是一组标志,每个标志都有一个on或off值,用于指示相应的优化器行为是启用还是禁用。在某些情况下,数据库管理员可能希望将索引标记为不可见以进行测试或维护,而不影响现有查询的性能。通过调整这个选项,用户可以尝试不同的连接顺序,以找到性能最优的执行计划。

2024-09-12 19:13:24 850 1

java开发手册最新版黄山版

java开发手册最新版--黄山版

2024-07-19

Sybase语法大全.pdf

Adaptive Server Enterprise参考手册

2012-03-08

jsp+servlet+javabean.ppt

9.1 Servlet概述 9.2 Servlet的基本结构与成员方法 9.3 调用Servlet的多种方法 9.4 两种模式的JSP技术 9.5 Servlet模式的留言板案例 9.6 Servlet的会话跟踪 习题9

2010-04-02

mysql-connector-net-5.2.5-src.zip

mysql connector net 5.2.5 装上就可用...

2009-10-29

Devexpress学习篇(请大家多多指教)

Devexpress学习篇(请大家多多指教)博客文章 因为大家看不到图片,所以我将博客文章保存在word里面 请大家 下载一下啊 帮帮忙看看 多谢指教

2009-07-28

Devexpress自学案例

Devexpress自学案例 请大家 多多指教

2009-07-28

2009届应届生求职指南

涵盖2009年各行业,各职业介绍,以及求职准备,求职注意事项,简历制作,面试技巧等等各方面的信息。

2008-12-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除