慢SQL治理实践及落地成果分享
一、治理背景 数据库系统性能问题会对应用程序的性能和用户体验产生负面影响。慢查询可能导致应用程序响应变慢、请求堆积、系统负载增加等问题,甚至引发系统崩溃或不可用的情况。慢SQL治理是在数据库系统中针对执行缓慢的SQL查询进行优化和改进的一项重要工作。 但原有的治理节奏,一般在大促备战期间,集中...[2023/9/20]
SQL查询中的小技巧:SELECT 1 和 LIMIT 1 替代 count(*)
前言 在写SQL查询时,常规做法是使用SELECT count(*)来统计符合条件的记录数。 然而,在某些情况下,我们只关心是否存在符合条件的记录,而不需要知道具体的记录数。 为了优化性能,可以改用使用SELECT 1和LIMIT 1的方式查询。 在业务代码中,直接判断查询结...[2023/9/15]
一个烂分页,踩了三个坑!
你好呀,我是歪歪。 前段时间踩到一个比较无语的生产 BUG,严格来说其实也不能算是 BUG,只能说开发同事对于业务同事的需求理解没有到位。 这个 BUG 其实和分页没有任何关系,但是当我去排查问题的时候,我看了一眼 SQL ,大概是这样的: select * from table ord...[2023/9/13]
千万级数据深分页查询SQL性能优化实践
一、系统介绍和问题描述 如何在Mysql中实现上亿数据的遍历查询?先来介绍一下系统主角:关注系统,主要是维护京东用户和业务对象之前的关注关系;并对外提供各种关系查询,比如查询用户的关注商品或店铺列表,查询用户是否关注了某个商品或店铺等。但是最近接到了一个新需求,要求提供查询关注对象的粉丝列表接口...[2023/8/29]
高级SQL分析函数-窗口函数
摘要:本文由葡萄城技术团队于博客园原创并首发。转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。 前言 SQL语句中,聚合函数在统计业务数据结果时起到了重要作用,比如计算每个业务地区的业务总数、每个班级的学生平均分以及每个分类的最大值等。然而,今天我...[2023/8/16]
常见的 NoSQL 数据库有哪些?
前言 今天我们来介绍一下工作开发中常见的一些NoSQL数据库及其基本特点。欢迎在评论区留下文章中没有介绍且好用的?NOSQL数据库??。 什么是NOSQL数据库 非关系型数据库又被称为 NoSQL(Not Only SQL ),意为不仅仅是 SQL。指的是与传统关系型数据库(RDBMS)相...[2023/8/7]
SQL-去除最大值与最小值求均值的问题
背景 今天有同事问我一道关于数据库SQL的面试题,我刚开始随便给了一个思路,后来思索发现这个思路有漏洞,于是总结下来,仅供参考。 问题: 薪水表中是员工薪水的基本信息,包括雇员编号,和薪水,查询除去最高、最低薪水后的平均薪水。 一、薪水表信息 CREATE TABLE `salar...[2023/8/7]
这些年写过的花式sql 第2句 统计用户返佣金排名
第2句 统计用户返佣金排名 继续欢迎批评指正建议 ^^ 需求: 曾经的活动是购买订单返流量(日志在 flow_rebate_log),后来改成返佣金(日志在 money_rebate_log)。 现在需要 按照用户返佣金额排名,如果不存在金额,则按 返流量 排名。其他需要列出的字段:use...[2023/8/4]
这些年写过的花式sql - 第一句 删除重复无效的记录
这些年写过的花式sql - 第一句 删除重复无效的记录 写好复杂sql可以减少代码量,经过写这些年的后台统计,我学着像写代码一样的设计和尝试sql。现整理如下: 本来想一次性写完的,不过那写起来和看起来都太累了。还是分解一下吧。 如果有不对的或者可以优化的地方,欢迎指正。 第一句 需求: ...[2023/8/2]
烧死10亿脑细胞的SQL长啥样?
1 前言 今天在生产中碰到了一个让我十分费解的 SQL,十分有趣。 2 现象 SQL 很好复现,就是逻辑看起来有点唬人 postgres=# create table test(id1 int,id2 int); CREATE TABLE postgres=# insert into tes...[2023/7/24]
怎样优雅地增删查改(九):按日期范围查询
目录实现按开始日期查询按结束日期查询使用项目地址 使用数据库的创建时间作为查询依据,在Abp框架中,实体类实现ICreationAuditedObject接口,或继承CreationAuditedEntity类,使用仓储创建记录时将自动生成CreationTime。 实现 定义按创建日期范...[2023/7/24]
掌握把“烂”SQL牢牢关进笼子里的密钥
摘要:本文通过5个部分内容帮助开发者快速了解Gau DB(DWS) 资源管理机制,让数仓过载烦恼不再,把“烂”SQL牢牢关进笼子里。 本文分享自华为云社区《直播回顾 | 掌握把“烂”SQL牢牢关进笼子里的密钥》,作者: 华为云社区精选 。 混合负载场景下,怎样避免“烂”语句对数据库系统的冲击?...[2023/7/12]
分享6个SQL小技巧
原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,非公众号转载保留此声明。 简介 经常有小哥发出疑问,SQL还能这么写?我经常笑着回应,SQL确实可以这么写。其实SQL学起来简单,用起来也简单,但它还是能写出很多变化,这些变化读懂它不难,但要自己Get到这些变化,可能需要想一会...[2023/6/19]
in用不用索引,啥时候能用啥时候不能用,一文说清
in/or到底能不能用索引应该是肯定的,但有时生效有时不生效,这个能不能量化计算?这是本文想讨论和解答的问题。 in到底用不用索引感觉像一桩悬疑片!古早时期的面经,统一说不走索引,在一些程序员脑海中从此留下不可磨灭的印记。 有些从业时间较长的程序员脑子里的第一反应就是不走索引,上个月我就曾...[2023/6/19]
分库分表用这个就够了
一、前言 2018年写过一篇分库分表的文章《SpringBoot使用sharding-jdbc分库分表》,但是存在很多不完美的地方比如: sharding-jdbc的版本(1.4.2)过低,现在github上的最新版本都是5.3.2了,很多用法和API都过时了。 分库分表配置采用Java硬编码...[2023/6/12]
分布式数据库 Join 查询设计与实现浅析
相对于单例数据库的查询操作,分布式数据查询会有很多技术难题。 本文记录 Mysql 分库分表 和 Elasticsearch Join 查询的实现思路,了解分布式场景数据处理的设计方案。 文章从常用的关系型数据库 MySQL 的分库分表Join 分析,再到非关系型 ElasticSearc...[2023/6/9]
手记系列之五 ----- SQL使用经验分享
前言 本篇文章主要介绍的关于本人从刚工作到现在使用Sql一些使用方法和经验,从最基本的SQL函数使用,到一些场景的业务场景SQL编写。 SQL基础函数使用 1.字段转换 CASE WHEN 意义: If(a==b) a=c; 用法: 1, CASE 字段 WHE...[2023/6/8]
慢 SQL 优化之索引的作用是什么?
前言 本文针对 MySQL 数据库的 InnoDB 存储引擎,介绍其中索引的实现以及索引在慢 SQL 优化中的作用。 本文主要讨论不同场景下索引生效与失效的原因。 慢SQL与索引的关系 慢SQL优化原则 数据库也是应用,MySQL 作为一种磁盘数据库,属于典型的 IO 密集型应用,并且随机 ...[2023/6/7]
本周SQL优化实战分享
分享一下本周SQL优化的两个场景。 如果能对读者有一定的启发,共同探讨,不胜荣幸。 版本信息:mysql,5.7.19 引擎: innodb 场景1 我们有一张常口表,里面的数据由各种数据源合并而来,所以人员可能有多个手机号其中还包括座机号。这点在这篇文章里也分享过。http...[2023/5/26]
rnacos——用rust重新实现的nacos开源配置、注册中心服务
1. 简介 rnacos 是一个用rust实现的nacos服务。 rnacos是一个轻量、快速、稳定的服务,包含注册中心、配置中心、web管理控制台功能。 rnacos兼容nacos client sdk用到的协议,支持使用nacos服务的应用平迁到 rnacos。 注: nacos 是...[2023/5/8]
将音频格式从flac转到wav的两种方法
最近在智能语音中用到了数据集cn-celeb。这个数据集的音频格式是flac,而在做数据增强(augmentation)以及模型训练时用的数据格式是wav,因此需要把音频格式从flac转到wav。我在ubuntu下摸索了一番,找到了两种方法。 1,基于Linux下的sox命令写...[2023/5/8]
工作中,我们经常用到哪些SQL语句呢?
目录一、DDL部分(create、drop、alter)1.1 create 语句上1.2 drop 语句1.3 alter 语句二、DML(数据操纵语言)和DQL(数据查询语言)2.1 insert 语句2.2 update 语句2.3 delete 语句2.4 select 语句2.5 其他...[2023/5/8]
武装你的WEBAPI-OData与DTO
本文属于OData系列文章 Intro 前面写了很多有关OData使用的文章,很多读者会有疑问,直接将实体对象暴露给最终用户会不会有风险?$expand在默认配置的情况下,数据会不会有泄露风险? 答案是肯定的,由于OData的特性,提供给我们便捷同时也会带来一些风险。很多地方推荐使用DTO模...[2023/5/8]
京东APP百亿级商品与车关系数据检索实践
导读 本文主要讲解了京东百亿级商品车型适配数据存储结构设计以及怎样实现适配接口的高性能查询。通过京东百亿级数据缓存架构设计实践案例,简单剖析了jimdb的位图(bitmap)函数和lua脚本应用在高性能场景。希望通过本文,读者可以对缓存的内部结构知识有一定了解,并且能够以最小的内存使用代价将位图...[2023/5/8]
SPSS计算极值、平均值、中位数、方差、偏度、峰度、变异系数
本文介绍基于SPSS软件的经典统计学分析与偏度、峰度等常用统计学指标的计算方法。 首先需要说明,本文所述数据的经典统计学分析,包括计算数据的极值、平均值、中位数、标准差、方差、变异系数、偏度与峰度等常用统计学指标。 首先,打开SPSS软件。 第一步需要将数据导入SPSS中。选择“文件”,然...[2023/5/8]
真实场景sql优化持续更新(老司机必备)
概述 下述场景,均来自实际产品线上经验,出于保密考量,所有需求场景都是仿造的,模拟遇到过的真实场景。 场景一: 统计数据(Order by 不具备唯一性导致的分页数据混乱) 需求 在实际业务场景中,我们经常遇到统计分析,比如现在有一张学生表student,现统计姓名为xxx的总共有多少学生。 ...[2023/4/26]
让SQL起飞(优化)
最近博主看完了《SQL进阶教程》这本书,看完后给博主打开了SQL世界的新大门,对于 SQL 的理解不在局限于以前的常规用法。借用其他读者的评论, ? 读完醍醐灌顶,对SQL做到了知其然更能知其所以然。全书从头到尾强调了 SQL的内在逻辑是基于集合论和谓词逻辑,而着两条主线恰恰在使用SQL起到...[2023/4/17]
主键、唯一索引、聚集索引、非聚集索引,你真知道他们的区别么?
【讲故事】 近端时间一直在做一些数据库查询的工作,主要是根据表中的“日期”与“产品名”两个字段为条件在对表进行相关查询。 但当表数据量达到3000万以上时,发现查询速度呈几何级下降,变得超慢不说,而且每查询一次,服务器内存的使用量就一点点上升直至占用100%,我就不得不重启服务器...&nbs...[2023/2/17]
在SQL中修改数据的基础语句
目录什么是修改?一、插入数据基本语法二、更新数据基本语法使用update语句的注意事项三、删除语句基本语法注意事项四、特别注意补充:sql update语句根据不同条件修改不同列的值 什么是修改? 在SQL中的基本操作就是增删改查,查询语句不会对数据库中的数据进行修改。 而其余的三种操作都会...[2023/2/17]
order by 语句怎么优化?
说明 当前演示的数据库版本5.7 一、一个简单使用示例 先创建一张订单表 CREATE TABLE `order_info` ( `id` int NOT NULL AUTO_INCREMENT COMMENT ''主键'', `order_no` int NOT NULL COM...[2023/1/30]
group by 语句怎么优化?
一、一个简单使用示例 我这里创建一张订单表 CREATE TABLE `order_info` ( `id` int NOT NULL AUTO_INCREMENT COMMENT ''主键'', `order_no` int NOT NULL COMMENT ''订单号'', ...[2023/1/18]
好好的系统,为什么要分库分表?
大家好,我是小富~ 说在前边 今天是《分库分表 ShardingSphere 原理与实战》系列的开篇文章,之前写过几篇关于分库分表的文章反响都还不错,到现在公众号:程序员小富后台不断的有人留言、咨询分库分表的问题,我也没想到大家对于分库分表的话题会这么感兴趣,可能很多人的工作内容业务量较小很难...[2022/12/2]
私藏!资深数据专家SQL效率优化技巧 ?
?? 作者:韩信子@ShowMeAI ?? 数据分析实战系列:https: www.showmeai.tech/tutorial 40 ?? 本文地址:https: www.showmeai.tech/article-detail/391 ?? 声明:版权所有,转载请联系平台与作者并注...[2022/12/2]
SQL案例学习之字符串的合并与拆分方法总结
目录字符串的合并字符串合并方法一:字符串合并方法二:字符串的拆分字符串拆分方法一:字符串拆分方法二:总结 字符串的合并 在Oracle中可能有多种实现方法,目前我已知的有两种,下面记录下这两种的实现: 字符串合并方法一: 实现SQL: --方法一 SELECT d.de...[2022/8/31]
SQL语句实现多表查询
目录基本sql语句多表查询例一:双表查询例二:多表查询 基本sql语句 SELECT <目标字段> FROM <数据库表> WHERE <查询条件> GROUP BY <分组依据> ORDER BY <排列依据> 多表查询 内连...[2022/7/19]
sql查询语句之平均分、最高最低分及排序语句
目录前言数据表数据查询各课程的考试学生人数查询各科成绩最高分和最低分查询男生、女生人数查询平均成绩查询平均成绩大于70分学生的学号和平均成绩查询学生考试参与考试课程数量查询考试两门以上课程的学生学号查询同名学生名单并统计同名人数计算每门课程的平均成绩计算每门课程的平均成绩并且平均成绩大于等于70分查...[2022/5/30]
SQL为什么不建议执行超过3表以上的多表关联查询
目录摘要:MySQL多表关联查询效率高点还是多次单表查询效率高?对关联查询进行分解 概述:前段时间在跟其他公司DBA交流时谈到了mysql跟PG之间在多表关联查询上的一些区别,相比之下mysql只有一种表连接类型:嵌套循环连接(nested-loop),不支持排序-合并连接(sort-merge j...[2022/3/29]
千万级用户系统SQL调优实战分享
用户日活百万级,注册用户千万级,而且若还没有进行分库分表,则该DB里的用户表可能就一张,单表上千万的用户数据。 某系统专门通过各种条件筛选大量用户,接着对那些用户去推送一些消息: 一些促销活动消息让你办会员卡的消息告诉你有一个特价商品的消息 通过一些条件筛选出大量用户,针对这些用户...[2022/3/1]
详解SQL之CASE WHEN具体用法
简单CASE WHEN函数: CASE SCORE WHEN ''A'' THEN ''优'' ELSE ''不及格'' END CASE SCORE WHEN ''B'' THEN ''良'' ELSE ''不及格'' END CASE SCORE WHEN ''C'' THEN ''中...[2022/3/1]
sql时间段切分实现每隔x分钟出一份高速门架车流量
目录业务场景:解决思路: 业务场景: 我们需要查询从表T里查询某一天按照5分钟为一段间隔通过高速门架的车流量。部分脱敏数据如下 表T里包含time,id,chepai,部分数据为(’2020-02-23 00:43:27','某高速门架0010',&...[2022/2/28]
使用SQL实现车流量的计算的示例代码
目录卡口转换率1、查出每个地区下每个路段下的车流量2、通过错位连接获取每辆车的行车记录3、获取行车过程中的车辆数4、获取每个卡口的总车辆数5、求出卡口之间的转换率 卡口转换率 将数据导入hive,通过SparkSql编写sql,实现不同业务的数据计算实现,主要讲述车辆卡口转换率,卡口转化率:主要...[2022/2/28]
SQL Server 使用 Pivot 和 UnPivot 实现行列转换的问题小结
对于行列转换的数据,通常也就是在做报表的时候用的比较多,之前也零零散散的看了一些,今天就来总结一下。 先创建一个用于演示的临时表: create table #temp ( 年份 nvarchar(10) null, 月份 nvarchar(10) ...[2022/1/24]
SQL Server 的T-SQL高级查询详解
目录基本常用查询嵌套子查询from (select … table)示例示例in, not in子句查询示例exists和not exists子句查询示例some、any、all子句查询示例聚合查询1、 distinct去掉重复数据2、 compute和compute by汇总查询3、...[2022/1/19]
SQL Server 数据库的设计详解
一、数据库设计的必要性 在实际的软件项目中,如果系统中需要存储的数据量比较大,需要设计的表比较多,表与表之间的关系比较复杂,那我们就需要进行规范的数据库设置。如果不经过数据库的设计,我们构建的数据库不合理、不恰当,那么数据库的维护、运行效率会有很大的问题。这将直接影响到项目的运行性和可靠性。 ...[2022/1/19]
SQL查询至少连续七天下单的用户
创建表格 create table orde(id varchar(10),date datetime,orders varchar(10)); insert into orde values(''1'' , ''2019/1/1'',10 ) insert into orde value...[2022/1/2]
SQL查询至少连续n天登录的用户
以连续3天为例,使用工具:MySQL。 1.创建SQL表: create table if not exists orde(id varchar(10),date datetime,orders varchar(10)); insert into orde values(''1'' , '...[2022/1/2]
SQL数据库语句大全
目录基础创建数据库删除数据库备份sql server创建 备份数据的 device开始 备份创建新表根据已有的表创建新表:删除新表增加一个列添加主键删除主键创建索引删除索引创建视图删除视图几个简单的基本的sql语句几个高级查询运算词UNION 运算符EXCEPT 运算符INTERSECT 运算符使用...[2021/12/20]
面试被问select......for update会锁表还是锁行
目录验证:结合一下实例验证 select查询语句是不会加锁的,但是select .......for update除了有查询的作用外,还会加锁呢,而且它是悲观锁。 那么它加的是行锁还是表锁,这就要看是不是用了索引/主键。 没用索引/主键的话就是表锁,否则就是是行锁。 ...[2021/11/9]
一次因表变量导致SQL执行效率变慢的实战记录
目录场景JOB执行流程分析逐一排除问题解决问题1.通过使用临时表代替表变量2.修改目标TableB的写入逻辑总结 场景 最近工作中,发现某同步JOB在执行中经常抛出SQL执行超时的问题,查看日志发现每次SQL执行的时间都是线性增长的,循环执行50次以后执行时间甚至超过了5分钟 JOB执行流程...[2021/11/8]
SQL返回Map集合或者对象的操作
需求: 在下面的sql中我们需要返回一个sum函数和一个count函数,因为两个返回的值都不是表中的字段,所以这里需要考虑的是我的sql返回值类型应该是什么? 在日常的开发中,遇到这种问题我们首先会想到两种返回值类型,一种是将total和num设置为key,封装到map中。 另一种...[2021/7/19]