跟我一起盘MySQL
文章平均质量分 87
从SQL的基础使用到原理分析,从日常工作到面试一套拿捏!
涛声依旧叭
「 一线互联网公司码农,一个梦想造飞机的螺丝钉,热衷于分享成体系的、有深度的技术文章。」
展开
-
InnoDB Buffer Pool 缓冲池详解
InnoDB Buffer Pool缓冲池详解原创 2022-10-27 18:40:14 · 3682 阅读 · 0 评论 -
MySQL存储引擎详解
存储引擎负责mysql中数据的存储和提取。它的架构模式是插件式的,支持InnoDB、MyISAM等多种存储引擎。从5.5版本后,默认采用InnoDB引擎。存储引擎负责提供API接口给Server层的执行器调用(如果对SQL的执行过程不清楚的,可以参考上篇文章《从MySQL架构看一条SQL语句是如何执行的?》),这些API接口屏蔽了不同存储引擎之间的差异,使得这些差异对Server层的查询过程是透明的。不同的存储引擎,存储数据的格式一般是不同的。如何查看mysql支持哪些存储引擎?通过。.........原创 2022-07-16 15:33:35 · 1069 阅读 · 2 评论 -
从MySQL架构看一条SQL语句是如何执行的?
执行一条SQL查询语句,它在MySQL内部是如何执行的呢?通过MySQL的逻辑架构图,看一条SQL查询语句在MySQL 内部的执行过程。MySQL服务器的逻辑架构分为两层:Server层和存储引擎层。首先,通过连接器连接MySQL服务器,连接器负责跟客户端建立连接、获取权限、维持和管理连接。连接命令一般这么写:连接过程在完成TCP三次握手后,连接器会验证你得身份(用户名、密码),如果用户名密码认证通过,连接器会到权限表里面查出你拥有的权限并暂时保存。当前连接中的所有权限校验都以当前权限为准。即使管理员对原创 2022-07-14 15:50:00 · 2880 阅读 · 1 评论 -
Oracle获取最后一条,第一条数据(按时间获取第一条和最后一条数据)
假设有如下场景:电表,大家都知道电表读数并不是真正的耗电量,真正耗电量=此次读数-上一次读数电表设计如下:SQL语句如下,使用Oracle的FIRST_VALUE()和LAST_VALUE()函数实现:SELECT DISTINCT LAST_VALUE (E_VALUE) OVER (PARTITION BY E_CODE ORDER BY E_DATE ROWS...原创 2018-09-06 15:57:33 · 28153 阅读 · 0 评论 -
Oracle查询时间段内所有日期
Oracle使用SQL语句获取起止时间内所有日期:SELECT to_date('2018-08-01 00:00:00','YYYY-MM-DD HH24:MI:SS')+level-1 as datesFROM dual CONNECT BY level <= to_date('2018-08-08 00:00:00','YYYY-MM-DD HH24:MI:S...原创 2018-09-06 15:50:49 · 7421 阅读 · 0 评论 -
Oracle亿级数据查询处理(数据库分表、分区实战)
大数据量的查询,不仅查询速度非常慢,而且还会导致数据库经常宕机(刚接到这个项目时候,数据库经常宕机o(╯□╰)o)。那么,如何处理上亿级的数据量呢?如何从数据库经常宕机到上亿数据秒查?仅以此篇文章作为处理的总结。数据背景:下面是存放历史数据表的数据量,数据量确实很大,3亿多条。但这也仅仅是测试数据而已,因为客户端服务器上的数据可能远不止于此。为什么说远不止于此呢?实际情况是这样的...原创 2018-09-06 15:41:07 · 38943 阅读 · 11 评论 -
PLSQL创建Oracle定时任务,定时执行存储过程
1、创建定时向表中插入数据的存储过程,名为testJob。CREATE OR REPLACEPROCEDURE "testJob" ASBEGIN EXECUTE IMMEDIATE 'INSERT INTO TABLE_HIS SELECT * FROM TABLE_AI'; COMMIT;END;2、使用plsql找到定时器对应的DBMS_Jobs文件夹,右键new。...转载 2018-09-06 15:36:12 · 20904 阅读 · 3 评论 -
SQL之CASE WHEN用法详解
简单CASE WHEN函数:CASE SCORE WHEN 'A' THEN '优' ELSE '不及格' ENDCASE SCORE WHEN 'B' THEN '良' ELSE '不及格' ENDCASE SCORE WHEN 'C' THEN '中' ELSE '不及格' END等同于,使用CASE WHEN条件表达式函数实现:CASE WHEN SCORE = 'A'.........原创 2018-08-30 14:43:02 · 985589 阅读 · 57 评论 -
Oracle实现竖表转横表的几种常用方法(行转列)
有能耗表,记录各个城市水、电、热的能耗情况,表结构如下:表结构 名称 类型 备注 E_CODE VARCHAR2(10) 城市的CODE E_VALUE NUMBER 能耗值,包括水耗、电耗、热耗 E_TIME VARCHAR2(20) 时间 E_TYPE NUMBER 能耗类型,0:水耗,1:电耗,2:热耗 插...原创 2018-08-29 11:07:08 · 17818 阅读 · 1 评论 -
Oracle中字符串截取最全方法总结
substr 函数:截取字符串 语法:SUBSTR(string,start,[length])string:表示源字符串,即要截取的字符串。start:开始位置,从1开始查找。如果start是负数,则从string字符串末尾开始算起。length:可选项,表示截取字符串长度。示例:SELECT SUBSTR('Hello SQL!', 1) FROM dual .........原创 2018-08-30 18:10:42 · 414483 阅读 · 7 评论