
mysql
文章平均质量分 85
查询世界中的每一抹美丽
有梦想的攻城狮
既然选择了远方,留给别人的就只能是背影
展开
-
MySQL 中 EXISTS (SELECT 1 FROM ...) 的用法详解
MySQL 中用于存在性检查的核心语法,其核心逻辑是判断子查询是否返回至少一行数据。以下从作用原理、使用场景、性能优化等方面展开解析,并结合具体示例说明。可以显著提升复杂查询的性能,尤其在处理关联表数据量差异较大的场景中效果显著。是占位符写法,无需实际数据,仅验证存在性,因此性能优于。示例:查找选修“数据库”且成绩高于90分的学生。子查询通常与外层查询通过关联条件(如。子查询返回至少一行数据时,示例:查找未完成订单的客户。示例1:查找有员工的部门。示例2:检查用户是否存在。示例:查找没有员工的部门。原创 2025-05-06 23:39:30 · 913 阅读 · 0 评论 -
mysql中select 1 from的作用
select可以化查询性能,尤其在需要判断记录是否存在的场景中效果显著。无需读取实际列数据,仅检查是否存在符合条件的行,性能更优。它的核心作用是快速验证逻辑条件是否成立,而非获取数据本身。若报错或无响应,说明连接失败。典型场景:存在性检查、连接测试、子查询占位符。核心作用:快速验证逻辑条件,不依赖实际数据。由于无需读取实际列值,执行效率通常比。的本质是返回一个常数值(即数字。在应用程序或脚本中,通过执行。等价,均用于占位或逻辑验证。优势:执行效率高,资源消耗低。),且不依赖表中的实际数据原创 2025-05-06 21:21:37 · 587 阅读 · 0 评论 -
mysql协议详解
MySQL协议是MySQL客户端与服务器之间通信的核心规则,定义了数据交换的格式、流程及指令。低版本客户端连接高版本服务器时,可能因认证插件不兼容导致失败(如MySQL 5.7客户端连接MySQL 8.0)。caching_sha2_password:MySQL 8.0+默认,使用SHA256算法。Wireshark:直接解析MySQL协议,查看握手、查询、响应等流程。包长度(3字节):Payload部分的字节数(0~16MB)。Payload(变长):实际传输的数据(指令、结果、错误等)。原创 2025-05-06 20:07:36 · 1007 阅读 · 0 评论 -
mysql中的索引下推
索引下推(Index Condition Pushdown,ICP) 是 MySQL 5.6 引入的优化技术,允许存储引擎在扫描索引时直接应用。通过合理利用 ICP,可显著优化涉及复合索引的查询性能,尤其是在处理大量数据时。聚簇索引的叶子节点直接存储数据行,主键条件直接在索引扫描时处理。若查询仅访问索引列(覆盖索引),无需回表,ICP 无意义。将高频过滤条件放在索引中,尤其是范围查询后的列。,ICP 允许存储引擎在扫描索引时直接过滤。条件中的列不在索引中,ICP 无法生效。存储引擎在扫描索引时,直接检查。原创 2025-04-30 01:42:34 · 773 阅读 · 0 评论 -
mysql中的order by的用法详解
ORDER BY 是 MySQL 中用于对查询结果进行排序的关键字,支持单列、多列、表达式排序,并能结合索引优化性能。字段有索引,且顺序与索引一致,可避免文件排序(Using filesort)。核心功能:ORDER BY 提供灵活的结果排序,支持单列、多列、表达式和函数。性能关键:合理利用索引避免文件排序,大表查询优先优化索引和过滤条件。高级技巧:通过 CASE、FIELD 或子查询实现复杂排序逻辑。注意事项:处理 NULL 值、分页稳定性及子查询中的排序限制。ASC:升序(默认,可省略)。原创 2025-04-30 01:29:14 · 1085 阅读 · 0 评论 -
PostgreSQL数据库详解
Archiver:归档 WAL 日志,支持 PITR(Point-in-Time Recovery)。TOAST 机制:自动压缩大字段(如 TEXT、JSONB),存储到单独的 TOAST 表中。WAL Writer:预写日志(Write-Ahead Logging, WAL)写入。Checkpointer:执行检查点(Checkpoint),确保数据一致性。原子性(Atomicity):通过 WAL 日志实现,确保事务完全提交或回滚。Heap 表:数据按行存储(堆表),支持 MVCC(多版本并发控制)。原创 2025-04-30 00:35:28 · 848 阅读 · 0 评论 -
Doris 2.x与3.x版本差异与新增特性
基于统计信息的查询优化,但统计信息收集依赖手动触发。Iceberg/Hudi外部表支持(实验性):直接查询云上Iceberg/Hudi表,无需数据迁移。JIT编译优化(实验性):对热点表达式(如正则匹配、数学计算)进行运行时编译,提升单算子性能。支持全异步执行,消除线程阻塞,提升高并发场景下的吞吐量(如并发查询提升2-5倍)。冷热数据自动分层,支持将冷数据转存至低成本存储(如对象存储S3)。集成OpenTelemetry,支持链路追踪(Trace)。原创 2025-04-29 01:13:32 · 1142 阅读 · 1 评论 -
HDFS详解
分布式文件系统:HDFS(Hadoop Distributed File System)是 Hadoop 生态的核心组件,专为海量数据存储和批处理设计。原创 2025-04-27 01:15:23 · 764 阅读 · 1 评论 -
Hologres使用详解
实时交互式分析引擎:支持高并发低延迟的实时查询(OLAP),兼容PostgreSQL协议。存储计算分离架构:数据存储于MaxCompute或OSS,计算层动态扩缩容,资源按需分配。强事务支持:通过MVCC(多版本并发控制)保证读写一致性。Table Group:逻辑表集合,共享存储和计算资源,支持关联查询优化。Shard:数据分片,默认按主键哈希分布,支持自定义分布策略。Instance:计算实例,可根据负载动态调整CPU和内存。创建实例:在阿里云控制台选择地域、实例规格(如 ),配置存储(MaxCompu原创 2025-04-27 00:46:55 · 1161 阅读 · 0 评论 -
mysql的5.7版本与8.0版本的差异与兼容性
MySQL 8.0 在性能、功能扩展和安全性方面显著优于 5.7,但升级需重点解决身份验证、字符集、严格模式等兼容性问题。建议结合业务场景评估,优先在新项目中采用 8.0,现有系统升级前需充分测试并调整代码与配置。原创 2025-04-21 00:02:44 · 1048 阅读 · 0 评论 -
mysql中的group by用法详解
MySQL中的GROUP BY是数据聚合分析的核心功能,主要用于将结果集按指定列分组,并结合聚合函数进行统计计算。原创 2025-04-20 17:57:27 · 1435 阅读 · 0 评论 -
mysql中in的用法详解
in操作符在 MySQL 中广泛应用于多值筛选,其简洁性和灵活性使其成为高频查询工具。:列表值与字段类型不一致(如字符串与数字)导致查询失败。是 MySQL 中用于多值筛选的高效操作符,常用于。条件,简化查询逻辑并提升可读性。原创 2025-04-18 00:53:08 · 1656 阅读 · 0 评论 -
Doris使用详解
对于需要高并发、低延迟的企业级应用(如金融风控、电商大促),Doris 是替代传统 Hive+Impala 架构的理想选择。通过合理设计数据模型(选择 Duplicate/Aggregate Key)、优化分区分桶策略,并结合物化视图与向量化引擎,可显著提升查询效率。Apache Doris(原 Palo)是一个基于 MPP(大规模并行处理)架构的实时分析型数据库,专为高并发、低延迟的 OLAP(联机分析处理)场景设计。以下结合技术特性与适用场景,系统梳理 Doris 的十大高级能力,原创 2025-04-18 00:31:01 · 927 阅读 · 0 评论 -
mysql中exists的用法详解
前言在日常开发中,用mysql进行查询的时候,有一个比较少见的关键词exists,我们今天来学习了解一下这个exists这个sql关键词的用法,这样在工作中遇到一些特定的业务场景就可以有更加多样化的解决方案语法解释语法SELECT column1 FROM t1 WHERE [conditions] and EXISTS (SELECT * FROM t2 );说明括号中的子查询并不会返回具体的查询到的数据,只是会返回true或者false,如果外层sql的字段在子查询中存在则返回true,原创 2022-05-08 18:19:39 · 56710 阅读 · 49 评论 -
mysql中json类型字段用法
前言mysql从5.7.8版本开始原生支持了JSON类型数据,同时可以对JSON类型字段中的特定的值进行查询和更新等操作,通过增加JSON类型的属性可以大大的提高我们在mysql表中存储的数据的拓展性,无需每次新增字段时都进行表结构的调整,下面我们不深入讲解底层的实现原理,我们主要来梳理一下我们在日常工作中使用实践基本环境mysql版本:8.0.28springboot版本: 2.2.2测试表结构:CREATE TABLE `t_json` ( `id` int unsig原创 2022-04-21 02:38:11 · 5595 阅读 · 7 评论 -
mysql非常用命令
mysql数据库的一些非日常常用sql语句的命令查询表中列的注释信息//查询表中字段信息和注释信息select * from information_schema.columns where table_schema = "db_name"(库名) and table_name = "table_name" (表名);//只查询字段名和字段注释信息select column_name, column_comment from information_schema.columns where原创 2020-12-21 21:32:48 · 1073 阅读 · 0 评论 -
mysql中on duplicate key update使用详解
on duplicate key” 是在执行插入操作时的一个选项,它指示在遇到已经存在的键值时要执行的操作。当在数据库中使用插入操作时,如果键值已经存在,会触发错误。使用“on duplicate key”选项可以定义在遇到这种情况时要执行的操作。例如,在MySQL中,可以在INSERT语句中使用“ON DUPLICATE KEY UPDATE”语句来指定在遇到重复键时要执行的操作。这个选项后面通常跟着一个或多个列名和值对,表示在遇到重复键时更新这些列的值。原创 2020-05-24 03:24:29 · 17934 阅读 · 2 评论 -
mybatis批量插入数据到mysql数据库
开发中经常碰到的需要插入很多数据到数据库中的情况,如果采用循环单个插入的方式的话,整体看起来会比较简单,但是会造成频繁的数据库连接,影响数据库的处理效率和性能,这个时候,采用单次批量插入的方式就会更加高效,下面我们就来看一下采用mybatis如果批量的来插入数据到mysql数据库中,通过上面的介绍,我们应该已经了解了这几种常用的通过mybatis来进行批量插入到mysql数据的正确的操作方式,通过这样的方式可以极大的提高我们的整体的存储效率,实现更快的数据库插入,个人拙见,如果存在什么问题,希望大家可以提出原创 2020-05-21 01:38:58 · 1753 阅读 · 0 评论 -
mysql中between的用法
日常sql查询过程中经常要筛选某个属性或某个表达式结果的某个范围内的数据,这个时候我们经常通过 **>** 或者 **<** 来进行筛选,有的时候再项目中由于 **>** 和 **<** 经常会和起始标志符冲突,所以需要进行转义,这个过程很容易出现一些问题,其实在sql的关键字中,有一个非常实用的关键字可以进行范围查询,这个关键字就是between,接下来我们就来深入的了解一下between的用法。原创 2019-10-26 14:15:07 · 113199 阅读 · 9 评论 -
一文学会mysql中having的用法
mysql中having关键词是用来做筛选的,一般主要和group by 关键词来一起使用,将分组后的数据进行聚合并作为进一步查询的条件的时候需要使用having关键字来进行筛选,当然having也可以不和group by 一起使用,这个时候它的作用和where差不多,having对应的语法如下:原创 2019-10-23 23:14:12 · 4601 阅读 · 0 评论 -
mysql通过命令行登录并指定数据库
很多安全性要求比较高的数据库都需要通过跳板机来登录数据库,但是数据库默认登录到了数据库列表页面,我们还需要通过use命令来进一步进入我们想到操作的数据库,通过下面的命令我们可以直接进入到具体的数据库层级,命令如下原创 2019-10-12 18:59:38 · 15905 阅读 · 0 评论 -
mysql中的distinct的用法
distinct 用法详解distinct关键字的作用distinct关键字的语法having用法详解having关键字原创 2019-03-09 04:49:35 · 100906 阅读 · 14 评论 -
Mysql中的Datetime和Timestamp的区别和联系
引言 在使用Mysql的过程中,我们经常需要创建一些和时间有关的属性,Timestamp和Datetime应该是我们设置的最多的两种类型,在使>用的过程中,可能这两种不同类型的时间都达到了我们想要目标,但是,作为一个在开发过程中不可或缺的一份子,我们还是很有必要去深入的>了解一下他们的区别和联系的,下面我们就来简单的学习一下这两种不同的时间类型。联系 它们俩的相同的地方其实挺...原创 2019-03-03 22:05:33 · 975 阅读 · 0 评论 -
本地无法连接远程服务器(Host is not allowed to connect to this MySQL server)解决办法
问题描述:1、远程服务器安装了mysql服务并且启动成功,在本地可以进行自由的访问和更新等操作2、服务器已开通了远程访问服务器3306端口的权限并且通过netstat -ltnp命令查看3306处于监听过程中3、远程通过工具链接该mysql数据库会报Host ‘xxx.xxx.xxx.xxx’(本地ip) is not allowed to connect to this MySQL ser...原创 2018-09-28 15:43:06 · 36977 阅读 · 13 评论