5大步骤+10个案例,堪称SQL优化万能公式
一、前言在应用开发的早期,数据量少,开发人员开发功能时更重视功能上的实现,随着生产数据的增长,很多SQL语句开始暴露出性能问题,对生产的影响也越来越大,有时可能这些有问题的SQL就是
SQL 求 3 列异值的 4 种方法
前两天在抽一段数据时,碰到一个典型问题,初一想,有很多解法,所以特想做一次归纳。回想往事,其实有好些想法,可以深究,因没及时记录,事后就再也想不起来,白白浪费好多这样的机会。所以为了不留遗憾,今天沉下心来,好好复盘下。问题的原
PostgreSQL统计与性能优化深度分析
基本关系级别的统计信息存储在pg_class系统目录的表中。统计数据包括以下数据:关系的行数(reltuples)。关系的页面大小(relpages)。在关系的可见性图中标记的页面数(relallvisible)。SELECTreltuples,relpages,relallvisibleFROMp
数仓|聊聊如何搭建指标体系
写在前面作为数据研发,开发指标是我们的日常工作。在开发一个具体的指标时,不知道你是否想过以下问题:为什么要开发这些指标指标与指标之前有哪些联系怎么衡量指标的好与坏一个指标可以拆解吗...你可能会说,这些都是PD和业务该考虑的问题,我只需要他们提供具体的口径,然后开发完成就完事了。如果真的是这样的话,
深入理解 Docker 网络原理
Docker网络原理容器是相对独立的环境,相当于一个小型的Linux系统,外界无法直接访问,那他是怎么做的呢,这里我们先了解下Linuxvethpair。1.Linuxvethpairvethpair是成对出现的一种虚拟网络设备接口,一端连
微服务下的数据架构
前言:微服务是一个软件架构模式,对微服务的讨论大多集中在容器或
一条SQL能占多大内存?
初学计算机时,我经常琢磨的一个问题是:一个进程到底能吃多大内存,能把系统内存吃完?学了数据库后,我又开始问自己类似的问题,一条SQL能把数据库内存全部吃完?假设数据库系统内存有128GB,全盘扫描一遍200GB的表,是不是就把数据库内存撑爆了,别人的SQL就不能运行了?一开始,这个问题我始终没找到答
SQL中的递归查询
递归查询原理SQLServer中的递归查询是通过CTE(表表达式)来实现。至少包含两个查询,第一个查询为定点成员,定点成员只是一个返回有效表的查询,用于递归的基础或定位点;第二个查询被称为递归成员,使该查询称为递归成员的是对CTE
原来PostgreSQL底层是这样创建数据库
1.概述在PostgreSQL的源码中,位于src/backend/storage/file/目录下有一个copydir.c文件,该文件中一共实现了两个函数,分别是:copydir()和copy_file()。见名知义,这两个函数分别用于实现指定目录、文件的复制。它们的函数原型如下:voidcopyd
详解SQL中的排名问题
今天给大家介绍一下SQL排名中经常用到的ROW_NUMBER(),RANK(),DENSE_RANK(),NTILE()这四个好兄弟。我们先创建一个测试数据表ScoresWITHtAS(SELECT1StuID,70ScoreUN
Hive SQL 参数与性能调优
Hive作为大数据平台举足轻重的框架,以其稳定性和简单易用性也成为当前构建企业级数据仓库时使用最多的框架之一。但是如果我们只局限于会使用Hive,而不考虑性能问题,就难搭建出一个完美的数仓,所以Hive性能调优是我们大数
PostgreSQL数据库故障修复技巧
IT运维的恐惧主要来自于对运维对象的内在原理的认知不足,而数据库运维的底线在于数据的保全。90年代末的时候,我们对Oracle数据库的理解并不深入,而且那时候企业在数据库备份等方面的投入也不足。正是那时候我第一次遇到了Oracle数据库服务器故障的情况。当时客户的操作系统彻底坏掉了,重装操作系统并重
容易被轻视的主角,神奇的 SQL 之 HAVING
初识HAVING关于SQL中的HAVING,相信大家都不陌生,它往往与GROUPBY配合使用,为聚合操作指定条件说到指定条件,我们最先想到的往往是WHERE子句,但WHERE子句只能指定行的条件,而不能指定组的条件,因此就有了HAVING子句,它用来指定组的条件。我们来看个具体示例就清楚了。我们有学
慢sql治理经典案例分享
菜鸟供应链金融慢sql治理已经有一段时间,自己负责的应用持续很长时间没有慢sql告警,现阶段在推进组内其他成员治理应用慢sql。这里把治理过程中的一些实践拿出来分享下。一全表扫描1案例SELECTcount(*)AStmp_countFROM(SELECT*FROM`XXX_rules`WHERE1
神奇的 SQL 之 CASE表达式,妙用多多 !
前言历史考试选择题:黄花岗起义第一枪谁开的?A宋教仁B孙中山C黄兴D徐锡麟,考生选C。又看第二题:黄花岗起义第二枪谁开的?考生傻了,就选了个B。接着看第三题:黄花岗起义中,第三枪谁开的?考生疯了,胡乱选了A。考试出来就去找出卷老师。老师拿出课本说:黄兴连开三枪,揭开了黄花岗起义的序幕。考生:....
PostgreSQL 检索最新数据的 5 种方法
问题了解如何在大型时间序列数据集中查询设备的最新时间戳和数据,通常是许多应用程序开发人员面临的挑战。我们研究数据,确定适当的模式,并创建应该使查询快速返回的索引。当查询没有我们预期的那么快时,很容易混淆,因为PostgreSQL中的索引应该帮助您的查询快速返回-对吗?在大多数情况下,这个问题的答案肯
高逼格的 SQL 写法:行行比较
环境准备数据库版本:MySQL5.7.20-log建表SQLDROPTABLEIFEXISTS`t_ware_sale_statistics`;CREATETABLE`t_ware_sale_statistics`(`id`bigint(20)NOTNULLAUTO_INCREMENTCOMMENT
面试|HiveSQL常用的一些小技巧
SORT_ARRAY函数声明如下。ARRAYsort_array(ARRAY)用途:对给定数组中的数据排序。参数说明:ARRAY,ARRAY类型的数据。数组中的数据可为任意类型。返回值:ARRAY类型。示例如下。--建表CREATETABLEsort_array(c1ARRAY&l
Pandas vs SQL
哈喽,大家好。今天来分享下Pandas与SQL的对比。Pandas和SQL有很多相似之处,都是对二维表的数据进行查询、处理,都是数据分析中常用的工具。对于只会Pandas或只会SQL的朋友,可以通过今天例子快速学会另一个。1.数据查询首先,读取数据importpandasaspdimportnump
docker exec 失败问题排查之旅
这篇文章学习的重点:kubelet,docker-shim,dockerd,containerd,containerd-shim,runc直接的关系排查方法:如何使用docker,container