EF Core性能优化技巧
代码层面的优化 1. 使用实例池 EFCore2.0 为DbContext引入新的注册方式:透明地注册了 DbContext实例池,使用这种方式可以避免始终创建新的实例,EF Core 将重置其状态并将其存储在内部池中;当下次请求新的实例时,将返回该共用实例,而不是设置新的实例 使用示例: ...[2024/8/7]
SQL实战从在职到离职(1) 如何处理连续查询
书接上回,最近离职在家了实在无聊,除了看看考研的书,打打dnf手游,也就只能写写代码,结果昨晚挂在某平台的一个技术出售有人下单了,大概业务是需要帮忙辅导一些面试需要用到的SQL。 回想了下,在该平台接单SQL也超过3w元了,考察的也就是那几大类,我准备开一个新的专题,把我遇到的题目做一些示例...[2024/7/31]
【SQL】Lag/Rank/Over窗口函数揭秘,数据分析之旅
七月的夏日,阳光如火,但小悦的心中却是一片清凉与激情。在数据分析项目组的新岗位上,她仿佛找到了自己新的舞台,这里让她得以将深厚的后端技术实力与数据分析的精髓深度融合。每天,她都沉浸在业务需求的分析与数据驱动的决策之中,与业务、产品等多部门紧密合作,共同揭开数据背后的秘密,为企业的发展贡献自己的力...[2024/7/22]
SQL Thinking
s2下半年我在内部有一次部门级别的技术分享会,以本文内容分享为主。 其实有很多人问过我相同的问题,遇到需要改写的慢sql,不知道怎么改,改好了以后也不知道等不等价?不等价了也不知道错在哪?这个要怎么破? 其实都是因为绝大多数人没有做过开发,看不懂sql,不会写sql,没有sql思维,下面通过...[2024/7/17]
【SQL】晨光咖啡馆,过滤聚合的微妙碰撞
这天,小悦懒洋洋地步入办公楼下的咖啡馆,意外地与一位男子不期而遇。他显然因前一晚的辛勤工作而略显疲惫,却仍选择早到此地,寻找一丝宁静与放松。他叫逸尘,身姿挺拔,衣着简约而不失格调,晨光下更显英俊不凡,吸引了周遭的目光。两人仿佛心有灵犀,不约而同地走向各自的位置。 小悦手中轻握着新出...[2024/7/15]
使用explain优化慢查询的业务场景分析
问:你最害怕的事情是什么? 答:搓澡 问:为什么? 答:因为有些人一旦错过,就不在了 Explain 这个词在不同的上下文中有不同的含义。在数据库查询优化的上下文中,"EXPLAIN" 是一个常用的 SQL 命令,用于显示 SQL 查询的执行计划。执行计划是数据库如何执行查询的一个详...[2024/7/1]
半夜被慢查询告警吵醒,limit深度分页的坑
分享是最有效的学习方式。 博客:https: blog.ktdaddy.com/ 故事 梅雨季,闷热的夜,令人窒息,窗外一道道闪电划破漆黑的夜幕,小猫塞着耳机听着恐怖小说,辗转反侧,终于睡意来了,然而挨千刀的手机早不振晚不振,偏偏这个时候振动了一下,一个激灵,没有按捺住对内容的好奇,点开...[2024/6/28]
SHOW PROCESSLIST 最多能显示多长的 SQL?
在 MySQL 中,如果我们想查看实例当前正在执行的 SQL,常用的命令是SHOW PROCESSLIST。 但如果 SQL 过长的话,就会被截断。这时,我们一般会用SHOW FULL PROCESSLIST来查看完整的 SQL。 最近碰到一个 case,发现无论是使用 SHOW ...[2024/6/17]
monaco-editor 的 Language Services
我们是袋鼠云数栈 UED 团队,致力于打造优秀的一站式数据中台产品。我们始终保持工匠精神,探索前端道路,为社区积累并传播经验价值。 本文作者:修能 这是一段平平无奇的 SQL 语法 SELECT id, sum(name) FROM student GROUP BY id ORDE...[2024/6/13]
性能分析: 快速定位SQL问题
在数据库性能调优的实践中,SQL性能分析是至关重要的一环。一个执行效率低下的SQL语句可能会导致整个系统的性能瓶颈。 为了快速定位并解决这些问题,我们需要对SQL进行性能分析。本文将介绍一些常用的方法和技术,帮助大家快速定位SQL问题。 1、找出执行时间最长的SQL 首先,我们需要找到执行时...[2024/6/13]
OceanBase 金融项目优化案例
领导让我帮忙支持下其他项目的SQL优化工作,呦西,是收集案例的好时候。?? 下面SQL都是在不能远程的情况下,按照原SQL的逻辑等价改写完成否发给现场同事验证。 案例一 慢SQL,4.32秒: SELECT MY_.*, RM FROM (SELECT ROWNUM RM, V_...[2024/6/12]
SQL KEEP 窗口函数等价改写案例
一哥们出条sql题给我玩,将下面sql改成不使用keep分析函数的写法。 select deptno, ename, sal, hiredate, min(sal) keep(dense_rank first order by hi...[2024/5/31]
Dapper迁移SqlSugar问题汇总
最近群里有个小伙伴把Dapper迁移SqlSugar几个不能解决的问题进行一个汇总,我正好写一篇文章来讲解一下 一、sql where in传参问题: SELECT * FROM users where id IN @ids 答: SqlSugar中应该是 v...[2024/5/24]
什么是SQL 语句中相关子查询与非相关子查询
1.什么是SQL子查询 要理解相关子查询和非相关子查询,我们得首先理解什么是子查询,子查询是指在一个查询语句中嵌套的另一个查询语句。 子查询可以嵌套在其他查询语句中,如 SELECT、INSERT、UPDATE、DELETE 等,它作为一个独立的查询单元,其结果可以被外部查询所使用。 子查询可以...[2024/4/29]
DM数据库金融行业案例(水贴一波)
最近没遇到啥有意思的案例,都是些很简单的案例,但是又好久没写过博客了,决定水一波帖子,保持更新。?? 今天这个是任总老婆小王同学提供的金融SQL案例,难是不难,但是远程的时候网络卡得要命, 心累。?? 慢SQL(关键信息已经加密): WITH CO...[2024/4/3]
KingbaseES参数track_activity_query_size介绍
背景 同事A在客户现场,最近注意到客户的主数据库性能有所下降,尤其是在高峰时段。怀疑可能有一些复杂的查询影响了数据库的性能,但尚未确定具体是哪些查询。 为了诊断问题,A决定查看高峰期正在执行的查询,先通过sys_stat_activity视图看下当前有哪些sql在运行: SELECT pi...[2024/3/29]
记录工作过程中一次业务优化
1需求 用户需要输入身份证和姓名进行登录,登录时需要判断是否存在在数据库存在,登录成功后需要记录登录的信息以及微信Id,如果用到不同的微信账号,需要记录多次记录。 2设计 2.1数据库设计 CREATE TABLE `ExamDefine` ( `Id` varchar(36) NO...[2024/3/20]
SQL奇遇记:解锁 SQL 的秘密
数据库基础 在我们探究SQL语言之旅的起点,首先要对数据库的核心理念有所了解。数据库在现代生活中无处不在,每次网购、网页浏览、即时通讯,都在产生数据。简单来说,数据库就是按一定数据结构组织、存储、管理数据的系统,它能够长期存储于计算机内,实现数据的有序共享和统一管理。 以图书馆为例,成千上万的...[2024/3/20]
MindSpore自定义算子中的张量维度问题
技术背景 在前面的几篇博客中,我们介绍了MindSpore框架下使用CUDA来定义本地算子的基本方法,以及配合反向传播函数的使用,这里主要探讨一下MindSpore框架对于CUDA本地算子的输入输出的规范化形式。 测试思路 MindSpore使用的CUDA算子规范化接口形式为: extern...[2024/3/13]
SQL中为什么不要使用1=1?
最近看几个老项目的SQL条件中使用了1=1,想想自己也曾经这样写过,略有感触,特别拿出来说道说道。 编写SQL语句就像炒菜,每一种调料的使用都会影响菜品的最终味道,每一个SQL条件的加入也会影响查询的执行效率。那么 1=1 存在什么样的问题呢?为什么又会使用呢? 为什么会使用 1=1? 在...[2024/2/21]
神奇的 SQL ,同时实现小计与合计,阁下该如何应对
开心一刻 今天,小区有个很漂亮的姑娘出嫁 我对儿子说:你要好好学习,认真写作业,以后才能娶到这么漂亮的老婆 儿子好像听明白了,思考了一会,默默的收起了作业本 然后如释重负的跟我说到:爸,我以后还是不娶老婆了 环境准备 后文要讲的重点是标准 S...[2024/2/2]
这样delete居然不走索引
背景 由于业务变迁,合规要求,我们需要删除大量非本公司的数据,涉及到上百张表,几个T的数据清洗。我们的做法是先从基础数据出发,将要删除的数据id收集到一张表,然后再由上往下删除子表,多线程并发处理。 我们使用的是阿里的polardb,完全兼容mysql协议,5.7版本,RC隔离级别。删除过程一...[2023/12/27]
神奇的 SQL ,高级处理之 Window Functions → 打破我们的局限!
开心一刻 今天儿子跟老婆聊天 儿子:妈妈,我为什么没有两个爸爸呀 老婆:每个人都只有一个爸爸呀,你看谁有两个爸爸了 儿子一脸真诚的看着老婆:那你为什么就有两个爸爸呢 老婆一脸疑惑的望向儿子:我哪有两个爸爸了? 儿子有点不服气,温柔地说道:你管爷爷叫爸爸,你管姥爷...[2023/12/18]
记一次生产慢sql索引优化及思考
一 问题重现 夜黑风高的某一晚,突然收到一条运营后台数据库慢sql的报警,耗时竟然达到了60s。 看了一下,还好不是很频繁,内心会更加从容排查问题,应该是特定条件下没有走到索引导致,如果频繁出现慢查询,可能会将数据库连接池打满,导致数据库不可用,从而导致应用不可用。 二 问题排查 报警自...[2023/12/18]
一次显著的性能提升,从8s到0.7s
前言 最近我在公司优化了一些慢查询SQL,积累了一些SQL调优的实战经验。 我之前写过一些SQL优化相关的文章《聊聊SQL优化的15个小技巧》和《explain | 索引优化的这把绝世好剑,你真的会用吗?》,在全网广受好评。 这篇文章从实战的角度出发,给大家分享一下如何做SQL调优。 经过...[2023/12/1]
OceanBase金融SQL、亿万级别据量优化案例(Row_number 开窗 + 分页SQL)
最近优化了不少SQL,简单的SQL顺手搞了不好意思发出来了忽悠人,复杂很考验逻辑思维的,但是又不想分享出来(自己收藏的案例),怕被人抄袭思路??。 今天遇到一条很有意思的SQL案例: 性能SQL(金融行业关键信息已经隐藏): SELECT CS.BRANCHCODE, ...[2023/11/8]
select...for update到底是加了行锁,还是表锁?
前言 前几天,知识星球中的一个小伙伴,问了我一个问题:在MySQL中,事务A中使用select...for update where id=1锁住了,某一条数据,事务还没提交,此时,事务B中去用select ... where id=1查询那条数据,会阻塞等待吗? select...for u...[2023/10/25]
我试图扯掉这条 SQL 的底裤。
你好呀,我是歪歪。 这次带大家盘一个我觉得有点意思的东西,也是之前写《一个烂分页,踩了三个坑!》这篇文章时,遇到的一个神奇的现象,但是当时忙着做文章搞定这个主线任务,就没有去深究这个支线任务。 现在我们一起把这个支线任务盘一下。 啥支线任务? 之前不是写分页嘛,分页肯定就要说到 lim...[2023/10/16]
执行SQL语句&存储过程的真正【神器】,不用ORM的全选它,比dapper好
支持.Net Core(2.0及以上)与.Net Framework(4.0及以上)(注意:升级了,可以覆盖到早期的.Net Framework4.0了,而且修复了数据库字段为Null时报错的问题,无敌了!!) 此工具在IDataAcce 接口中提供。 已被.Net圈内多家大厂采用! ...[2023/10/9]
慢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]