SQL优化13连问,收藏好!
前言大家好,我是田螺。金三银四已经开始啦,准备了SQL优化的13连问,内容非常干!相信大家看完一定会有帮助的。1.日常工作中,你是怎么优化SQL的?大家可以从这几个维度回答这个问题:分析慢查询日志使用explain查看执行计划索引优化深分页优化避免全表扫描避免返回不必要的数据(如select具体字段
数据库锁的12连问,抗住!
前言大家好,我是田螺。金三银四很快就要来啦,准备了数据库锁的12连问,相信大家看完肯定会有帮助的。1.为什么需要加锁在日常生活中,如果你心情不好想静静,不想被比别人打扰,你就可以把自己关进房间里,并且反锁。这就是生活中的加锁。同理,对于MySQL数据库来说的话,一般的对象都是一个事务一个事务来说的。
SQL常见错误指南
SQL是数据分析中高频的操作之一,本文梳理常见的SQL错误,可以归为三大类:语法类;函数类;逻辑类;语法错误标点错漏e.g.逗号多或缺,括号等不成对,漏写引号、多余的空格等;e.g.casewhe
系统上线前,SQL脚本的9大坑
前言系统上线时,非常容易出问题。即使之前在测试环境,已经执行过SQL脚本了。但是有时候,在系统上线时,在生产环境执行相同的SQL脚本,还是有可能出现一些问题。有些小公司,SQL脚本是开发自己执行的,有很大的风险。有些大厂,有专业的DBA把关,但D
我打赌!这个 SQL 题,大部分人答不出来
周末的时候,一个读者问了我一个很有意思的问题,是关于MySQL中update加锁的问题。他用下面这张数据库表,做了个MySQL实验的时候。发现事务B的update不会阻塞,而事务C的update会阻塞,都是对id=10这条记录进行update,为什么一个会阻塞,一个不会阻塞?首先,
这个 SQL 题,大部分人答不出来
有的面试官喜欢考手写SQL然后问你这个SQL语句上面加了哪些锁,很多小伙伴遇到这种问题的时候都是一脸懵逼,所以今天来分享下问题答案,希望对大家有啥帮助。首先众所周知,InnoDB三种行锁:RecordLock(记录锁):锁住某一行记录GapLock(间隙
快速定位数据库消耗 CPU 高的 SQL 语句
如何快速定位消耗CPU高的sql语句,怎么做?看看下面的介绍。概述如果是Oracle数据库我们可以很容易通过sql来定位到当前数据库中哪些消耗CPU高的语句,而mysql数据库可以怎么定位呢?这里用一个简单例子说明下...主要是了解如何定位的思路,具体看官网介绍..参考:https://www.pe
SQL 性能优化梳理
本文主要针对的是关系型数据数据库MySql。先简单梳理下Mysql的基本概念,然后分创建时和查询时这两个阶段的优化展开。1基本概
Docker Buildx 版本更新引起的镜像血案
你有没有遇到过这种情况,对于一个镜像来说,它可以正常pull下来:$dockerpullknatnetw
Docker容器里进程的 pid 是如何申请出来的?
如果大家有过在容器中执行ps命令的经验,都会知道在容器中的进程的pid一般是比较小的。例如下面我的这个例子。#ps-efPIDUSERTIMECOMMAND1root0:00./demo-ie13root0:00/bin/bash21root0:00ps-ef不知道大家是否和我一样
图解 SQL 的执行顺序,优雅
这是一条标准的查询语句:这是我们实际上SQL执行顺序:我们先执行from,join来确定表之间的连接关系,得到初步的数据where对数据进行普通的初步的筛选groupby分组各组分别执行having中的普通筛选或者聚合函数筛选。然后把再根据我们要的数据进行select,可以是普通字段查询也可以是获取
SQL中去重的三种方法,还有谁不会?
SQL去重是数据分析工作中比较常见的一个场景,今天给大家具体介绍3种去重的方法。在使用SQL提数的时候,常会遇到表内有重复值的时候,比如我们想得到uv(独立访客),就需要做去重。在MySQL中通常是使用distinct或groupb
如何用Excel快速生成SQL语句,用过的人都说好
.css-1yuhvjn{margin-top:16px;}.css-376mun{position:relative;display:inline;}.css-1hhle02.FileLinkCard{-webkit-align-items:center;-webkit-box-align:cen
30种SQL语句优化,进阶必备!
SQL查询中为了提高查询效率,我们常常会采取一些措施对查询语句进行sql优化,下面总结一些方法,供大家参考。01对查询进行优化,应尽量避免全表扫描,首先应考虑在where及orderby涉及的列上建立索引。02应尽量避免在wher
SQL中的日期函数
导读我们在工作中时常需要处理某个时间段的数据,例如:如何求解上周的销量?如何求解上月天的销售金额?如何求解去年同期的在线人数?......这些都是涉及到具体或者以当前为参照的时间段的数据。我们该如何从海量数据中找出准确的时间段
如何写出高质量的 SQL 代码?
前言写这个话题心里有点没底,主要是我们微信群里懂SQL的大佬越来越多。如果说的不到位,那就糗大了。技术上的东西没用模棱两可,一就是一,二就是二,所以这篇文章权当抛砖引玉,如有不到之处还请轻拍。我们在写SQL代码的过程中,总会遇到一
SQL 查找是否"存在",别再用 COUNT 了,真的很费时间!
根据某一条件从数据库表中查询『有』与『没有』,只有两种状态,那为什么在写SQL的时候,还要SELECTcount(*)呢?无论是刚入道的程序员新星,还是精湛沙场多年的程序员老手,都是一如既往的count目前多数人的写法多次REVI
如何用SQL生成一张日期维度表?
输入想要生成日历的年份,通过调用存储过程,即可生成该年的全部日历。创建表结构我们根据常见的日历表来创建一个含有年,月,日,星期的日历表,具体表结构如下:CREATETABLECALENDAR_INFO(COUNTRYVAR
送你一份 SQL 进阶技巧
由于工作需要,近做了很多BI取数的工作,需要用到一些比较的SQL技巧,总结了一下工作中用到的一些比较骚的进阶技巧,特此记录一下,以方便自己查阅,主要目录如下:SQL的书写规范SQL的一些进阶使用技巧SQL的优化方法SQL的书写规范在介绍一些技巧之前,有必要强调一下规范,这一点我发现工作中经常被
Hive中的窗口函数
在SQL中有一类函数叫做聚合函数,例如sum()、avg()、max()等等,这类函数可以将多行数据按照规则聚集为一行,一般来讲聚集后的行数是要少于聚集前的行数的。但是有时我们想要既显示聚集前的数据,又要显示聚集后的数据,这时我们便引入了窗口函数。窗口函数又叫OLAP函数/分析函数,窗口函数兼具分组