话题编程语言 › SQL

编程语言:SQL

使用 TiDB 的 SQL 解析器生成 SQL 指纹

本文主要介绍如何借助 TiDB SQL 解析自定义生成 SQL 指纹,采用了一种有别于 pt-fingerprint(https://www.percona.com/doc/percona-toolkit/3.0/pt-fingerprint.html) 的方式。

Let's Fluent:更顺滑的MyBatis

Fluent MyBatis已开源。

Mybatis-Plus的应用场景及注入SQL原理分析

本文介绍了传统MyBatis开发中的弊端,通过MyBatis-plus内置通用 Mapper和条件构造器,可以感受到MyBatis-plus对于单表CRUD的便捷性,并且针对MyBatis-plus的SQL自动注入原理进行详细的源码分析。

Flink在唯品会的实践

唯品会自2017年开始基于k8s深入打造高性能、稳定、可靠、易用的实时计算平台,支持唯品会内部业务在平时以及大促的平稳运行。现平台支持Flink、Spark、Storm等主流框架。本文主要分享Flink的容器化实践应用以及产品化经验。

【唯实践】线下SQL性能自动化分析实践

长期以来数据库慢查询基本都是等到代码发布上线才被识别出来。从产品质量建设和保障角度来说这已经后知后觉。唯品会内部开发了线下SQL语句自动化分析工具,尽量避免有风险的SQL语句遗留上线。接下来将为你介绍这个工具的主要功能和技术实现。

PostgreSQL如何查找某一事务中的完整SQL

DBA 经常需要排查某一个事务中有哪些 SQL 的场景。典型的 case 就是 DB 有一个 lock 报警,从系统表中查看发现是1个 update 等待的 SQL 是1个 select。熟悉 PostgreSQL 的同学都知道:在 PostgreSQL 中,由于特有的 MVCC 机制,读不阻塞写,写不堵塞读。

那么为什么会产生这种 lock?

实际就是因为这个 select 处于一个事务中,事务中有其他 update/delete 等写入操作持有后面的其他事务中的 update 操作所需要的 lock。此时就需要到 DB log 去排查这个 select 所处的事务的完整的全部 SQL,反馈给业务线的开发同学,以便于进一步优化。

一文详解SQL关联子查询

本文主要介绍什么是关联子查询以及如何将关联子查询改写为普通语义的sql查询。

在背景介绍中我们将讲讲常见的关联子查询的语义,关联子查询语法的好处以及其执行时对数据库系统的挑战。第二章中我们将主要介绍如何将关联子查询改写为普通的查询的形式,也就是解关联。第三章中我们会介绍解关联中的优化方法。

Cobar SQL审计的设计与实现

笔者有幸也曾在公司内的Cobar上做过定制开发,开发的功能是SQL审计。

从数据库产品的运营角度看,统计分析执行过的SQL是一个必要的功能;从安全角度看,信息泄露、异常SQL也需要被审计。

SQl审计需要审计哪些信息?通过调研,大致确定要采集执行的SQL、执行时间、来源host、返回行数等几个维度。

SQL审计的需求很简单,但就算是一个很简单的需求放在数据库中间件的高并发、低延迟,单机QPS可达几万到十几万的场景下都需要谨慎考虑,严格测试。

举个例子,获取操作系统时间,在Java中直接调用 System.currentTimeMillis(); 就可以,但在Cobar中如果这么获取时间,就会导致性能损耗非常严重(怎么解决?去Cobar的github仓库上看看代码吧)。

索引设计(组合索引不适用场景改造)

本文主要介绍 MySQL 组合索引的不适用场景以及改造方案。

Evolving Schemaless into a Distributed SQL Database

2016年,我们发表了关于Schemaless--Uber Engineering的可扩展数据存储的文章(一、二)。我们介绍了Schemaless的设计以及解释了开发它的原因。今天这篇文章我们要讲的是Schemaless如何演进成一个通用的事务性数据库Docstore。

jOOQ Internals: Pushing up SQL fragments – Java, SQL and jOOQ.

How does jOOQ's implicit join work?

Doris SQL 原理解析

本文重点讲述生成单机逻辑计划,生成分布式逻辑计划,生成分布式物理计划的过程。

Hive SQL迁移Spark SQL在滴滴的实践

在滴滴SQL任务从Hive迁移到Spark后,Spark SQL任务占比提升至85%,任务运行时间节省40%,运行任务需要的计算资源节省21%,内存资源节省49%。在迁移过程中我们沉淀出一套迁移流程, 并且发现并解决了两个引擎在语法,UDF,性能和功能方面的差异。

一个线上SQL死锁异常分析:深入了解事务和锁

引发死锁的原因是什么?如何避免?本文详细介绍了和死锁有关的知识点,通过深入分析MySQL事务和锁的机制,结合案例背景,找到了问题的所在,并梳理了解决方案,详解其原理。希望对同学们有所启发。

Apache顶级项目ShardingSphere — SQL Parser的设计与实现

SQL Parser的工作原理、常见解析器​及具体应用

Hive SQL血缘关系解析与应用

随着企业信息化和业务的发展,数据资产日益庞大,数据仓库构建越来越复杂,在数仓构建的过程中,常遇到数据溯源困难,数据模型修改导致业务分析困难等难题,此类问题主要是由于数据血缘分析不足造成的,只有强化血缘关系,才能帮助企业更好的发挥数据价值。

首页 - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.0. UTC+08:00, 2026-03-18 03:05
浙ICP备14020137号-1 $访客地图$