7 天前 / BloomingRose
MyBatis 封装了 JDBC 通过 Mapper 代理的方式,以前繁琐的操作通过“属性与字段映射”就简单化解,MyBatis 的动态 SQL 完美展现了 DBMS 的独特魅力 一、多条件查询基于 Mybatis 的多条件查询,是在 Mapper 代理的映射文件中写上原有的 SQL,然后接口中写一个带参的方法即可,就像这样: 相比于原生的 JDBC 那一套,通过 MyBatis 确实解决了不少硬编码的问题 但是用户的查询永远是动态的操作,他可能在多个条件中选择其中少量条件进行查询,我们的 SQL 是死的,而用户需求对应的 SQL 却是活的,这样就会造成不匹配而形成语法错误 比如,根据这张表...
10 天前 / sjf0115
作者:冯浩桉,StarRocks 核心研发工程师,StarRocks Committer 在数据库和存储系统中,String 类型数据广泛存在。为了提升 String 的处理效率和节省存储资源,出现了很多针对 String 类型进行优化的技术手段,例如提升处理效率的各类字典应用,提升存储效率的字典编码压缩技术。 本文主要针对 StarRocks 基于全局字典做的低基数 String 查询优化,揭秘其技术内幕。 #01 为什么要引入低基数字典优化 — 我们先看下两个 SQL 的对比,表 Lineorder 是 SSB100G 数据集,lo_shippriority 为低基数 int 列...
13 天前 / 路强
sq (Structured Query)one-page documentation sq is a type-safe data mapper and query builder for Go. Its concept is simple: you provide a callback function that maps a row to a struct, generics ensure that you get back a slice of structs at the end. Additionally, mentioning a column in the callback function automatically adds it to the SELECT clause so you don't even have to explicitly mention what columns you want to select: the act of mapping a column is the same as selecting it. This eliminates a source ...
15 天前 / 九彩拼盘
通过 DNS 查询,得到域名的 IP 地址,才能访问网站。 那么,DNS 查询到底是怎么完成的?本文通过实例,详细介绍背后的步骤。 一、DNS 服务器域名对应的 IP 地址,都保存在 DNS 服务器。 我们输入域名,浏览器就会在后台,自动向 DNS 服务器发出请求,获取对应的 IP 地址。这就是 DNS 查询。 举例来说,我输入es6.ruanyifeng.com这个域名,浏览器就要向 DNS 服务器查询,它的 IP 地址是什么,然后向该 IP 发出访问请求。 网上有很多公用的 DNS 服务器,这篇文章选择 Cloudflare 公司提供的 1.1.1.1 进行演示。
25 天前 / Dr_Hydra
哈喽大家好啊,我是 Hydra。 mybatis-plus 作为 mybatis 的增强工具,它的出现极大的简化了开发中的数据库操作,但是长久以来,它的联表查询能力一直被大家所诟病。一旦遇到 left join 或 right join 的左右连接,你还是得老老实实的打开 xml 文件,手写上一大段的 sql 语句。 直到前几天,偶然碰到了这么一款叫做 mybatis-plus-join 的工具(后面就简称 mpj 了),使用了一下,不得不说真香!彻底将我从 xml 地狱中解放了出来,终于可以以类似 mybatis-plus 中 QueryWrapper 的方式来进行联表查询了,话不多说,我们下面开始体验。
29 天前 / BloomingRose
今天的数据驱动型企业不仅需要针对实时数据作出快速响应要,而且还必须执行复杂的查询以解决复杂的业务问题。 例如,客户个性化系统需要将历史数据集与实时数据流结合起来,以便立即向客户提供最相关的产品建议。提供关键任务的实时业务观察能力的运营分析系统也必须如此,例如,在线支付供应商需要监测其全球范围内的交易,以发现可能预示金融欺诈的异常情况。 或者想象一个网上学习平台需要为学区客户和内部客户团队提供关于学生和教师使用情况的最新洞察力。
36 天前 / sjf0115
ClickHouse 作为目前业内主流的列式存储数据库 (DBMS)之一,拥有着同类型 DBMS 难以企及的查询速度。作为该领域中的后起之秀,ClickHouse 已凭借其性能优势引领了业内新一轮分析型数据库的热潮。但随着企业业务数据量的不断扩大,在复杂 query 场景下,ClickHouse 容易存在查询异常问题,影响业务正常推进。 字节跳动作为国内最大规模的 ClickHouse 使用者,在对 ClickHouse 的应用与优化过程中积累了大量技术经验。本篇将解析 ClickHouse 的复杂查询问题,分享字节跳动解决 ClickHouse 复杂查询问题的优化思路与技术细节。
77 天前 / BloomingRose
文章来源:https://c1n.cn/EmgJv 目录前言 初版设计方案 CK 分页查询 使用 ES Scroll Scan 优化深翻页 ES+Hbase 组合查询方案 RediSearch+RedisJSON 优化方案 总结 前言 在开发中遇到一个业务诉求,需要在千万量级的底池数据中筛选出不超过 10W 的数据,并根据配置的权重规则进行排序、打散(如同一个类目下的商品数据不能连续出现 3 次)。下面对该业务诉求的实现,设计思路和方案优化进行介绍。 对“千万量级数据中查询 10W 量级的数据”设计了如下方案: 多线程 +CK 翻页方案 ES scroll scan 深翻页方案 ES+Hbase 组合方案 RediSearch+RedisJSON 组合方...
99 天前 / Yourtion
前言 近年来,数据库系统服务的数据量呈指数级增长,同时也面临处理的业务需求愈发复杂、实时性要求越来越高等挑战。单机数据库系统已经逐渐不能满足现代的数据库服务要求,因此分布式数据库 / 数据仓库得到了越来越广泛地运用。 在实时分析(OLAP)领域,分布式数据仓库可以充分发挥系统的分布式特点,将复杂的 OLAP 任务分解下发到系统中的所有节点进行计算提升分析性能;分布式数据仓库也可以比较方便地对系统节点进行扩容,应对用户业务数据量增加的需求。
102 天前 / u561252
本章节介绍如何利用 TiDB 提供的系统监控诊断工具,对运行负载中的查询进行排查和诊断。除了上一章节介绍的通过 EXPLAIN 语句来查看诊断查询计划问题外,本章节主要会介绍通过 TiDB Slow Query 慢查询内存表,以及 TiDB Dashboard 的可视化 Statements 功能来监控和诊断慢查询。 1.Slow Query 慢查询内存表 TiDB 默认会启用慢查询日志,并将执行时间超过规定阈值的 SQL 保存到日志文件。慢查询日志常用于定位慢查询语句,分析和解决 SQL 的性能问题。
115 天前 / sjf0115
一条查询 SQL 在关系型分布式数据库中的处理,通常需要经过 3 大步骤: 1. 将 SQL 文本转换成一个 “最佳的”分布式物理执行计划 2. 将执行计划调度到计算节点 3. 计算节点执行具体的物理执行计划本文将详细解释在 StarRocks 中如何完成一条查询 SQL 的处理。 首先来了解 StarRocks 中的基本概念:FE: 负责查询解析,查询优化,查询调度和元数据管理 BE:负责查询执行和数据存储 #01 从 SQL 文本到执行计划 — 从 SQL 文本到分布式物理执行计划, 在 StarRocks 中...
119 天前 / BloomingRose
文章来源:石杉的架构笔记原创文章 目录 业务场景 如何通过缓存优化查询接口 基于大数据离线平台进行缓存预热 本地缓存框架:Ehcache 今天给大家来分享一个知识,那就是平时我们开发系统的时候,如何运用 Ehcache 这款本地缓存框架,把我们的查询性能大幅度提升优化,甚至让很多查询操作性能提升到 100 倍以上,下面就来讲讲这个话题。 业务场景 首先给大家引入一个场景,就是假设咱们写的一套 Java 系统要跑一个几百行的大 SQL 从 MySQL 里查询数据,这个查询是不是会速度非常的慢? 那肯定是了,这种几百行大 SQL 往往都是那种超级复杂的查询...
132 天前 / tabalt
SQL 概述 SQL 的全称是 Structured Query Language(结构化查询语言),是最早于 1970 年代提出并广泛应用于访问和管理关系型数据库(如 Oracle/MySQL)的标准计算机语言。基于 SQL 的全面强大的功能及简单易用的特性,其历经 50 年风雨一直长盛不衰;很多近年来才快速发展起来的大数据处理系统如 Presto/Flink/Spark/Hive 等也实现了 SQL 或类 SQL 的语言。 基于具体的功能可以对 SQL 做进一步的细分,常用的有: 数据定义语言(DDL,Data Definition Language):创建新表或修改、删除表,关键字包括 CREATE、ALTER 和 DROP 等 数据操作语言(DML...
135 天前 / 猿天地
点击上方蓝字“设为星标” 大家好,我是【架构摆渡人】,一只十年的程序猿。这是分库分表系列的第一篇文章,这个系列会给大家分享很多在实际工作中有用的经验,如果有收获,还请分享给更多的朋友。 其实这个系列有录过视频给大家学习,但很多读者反馈说看视频太慢了。也不好沉淀为文档资料,希望能有一系列文字版本的讲解,要用的时候可以快速浏览关键的知识点。那么它就来了,我再花点时间写成几篇连续的文章供大家学习。