11 2021 档案

摘要:新写了一个功能,自测和测试环境测试都没问题,但在生产环境会出现偶发问题。于是,加班到12点一直排查问题,终于定位了的问题原因:Mysql Limit查询优化导致。现抽象出问题模型及解决方案,分析给大家,避免大家踩坑。 问题场景 新上线一个交易记录导出功能,逻辑很简单:根据查询条件,导出对应的数据。由 阅读全文
posted @ 2021-11-23 14:40 托马斯骨头收集 阅读(2533) 评论(0) 推荐(0) 编辑
摘要:一直有想了解分库分表,但是还未实战过,目前简单了解了一下基本概念和思路, 如何实现分库分表 将原本存储于单个数据库上的数据拆分到多个数据库,把原来存储在单张数据表的数据拆分到多张数据表中,实现数据切分,从而提升数据库操作性能。分库分表的实现可以分为两种方式:垂直切分和水平切分。 ◆水平:将数据分散到 阅读全文
posted @ 2021-11-23 10:42 托马斯骨头收集 阅读(65) 评论(0) 推荐(0) 编辑
摘要:MySQL优化概述 MySQL数据库常见的两个瓶颈是:CPU和I/O的瓶颈。 CPU在饱和的时候一般发生在数据装入内存或从磁盘上读取数据时候。 磁盘I/O瓶颈发生在装入数据远大于内存容量的时候,如果应用分布在网络上,那么查询量相当大的时候那么平瓶颈就会出现在网络上。 我们可以用mpstat, ios 阅读全文
posted @ 2021-11-22 10:41 托马斯骨头收集 阅读(104) 评论(0) 推荐(0) 编辑
摘要:最近在复习数据库索引部分,看到了 fulltext,也即全文索引,虽然全文索引在平时的业务中用到的不多,但是感觉它有点儿意思,所以花了点时间研究一下,特此记录。 引入概念通过数值比较、范围过滤等就可以完成绝大多数我们需要的查询,但是,如果希望通过关键字的匹配来进行查询过滤,那么就需要基于相似度的查询 阅读全文
posted @ 2021-11-19 17:27 托马斯骨头收集 阅读(129) 评论(0) 推荐(0) 编辑
摘要:1、 第一范式:数据表中的每一列(每个字段)都不可以再拆分。 2、 第二范式:在第一范式的基础上,分主键列完全依赖于主键,而不能是依赖于主键的一部分。 3、 第三范式:在满足第二范式的基础上,表中的非主键只依赖于主键,而不依赖于其他非主键。 阅读全文
posted @ 2021-11-19 14:16 托马斯骨头收集 阅读(22) 评论(0) 推荐(0) 编辑
摘要:1、 对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引 2、 用索引可以提高查询 3、 SELECT子句中避免使用*号,尽量全部大写SQL 4、 应尽量避免在 where 子句中对字段进行 is null 值判断,否则将导致引擎放弃使用索引而进行 阅读全文
posted @ 2021-11-19 14:14 托马斯骨头收集 阅读(58) 评论(0) 推荐(0) 编辑
摘要:需求:表里两个字段,name与登录系统的时间,求任意一小时内连续登录大于等于2次的用户信息 表信息如下: 然后用分析函数排序后内连接的结果 然后最后加上过滤条件的 所以上面是最终的结果 阅读全文
posted @ 2021-11-18 17:42 托马斯骨头收集 阅读(46) 评论(0) 推荐(0) 编辑
摘要:排序这个词,我的第一感觉是几乎所有App都有排序的地方,淘宝商品有按照购买时间的排序、B站的评论有按照热度排序的...,当然我们今天说的并不是大数据下该如何优雅的排序,如何提升排序性能的问题,我们说一说MySQL中的排序。 对于MySQL,一说到排序,你第一时间想到的是什么?关键字order by? 阅读全文
posted @ 2021-11-18 14:56 托马斯骨头收集 阅读(1294) 评论(0) 推荐(0) 编辑
摘要:聊一下key与index的区别与联系 key 是数据库的物理结构,它包含两层意义, 一是数据约束(偏重于约束和规范数据库的结构完整性), 二是建立索引(辅助查询用的) 一、key 包括 primary key 、unique key 、 foreign key、key 1.1 primary key 阅读全文
posted @ 2021-11-18 10:27 托马斯骨头收集 阅读(1831) 评论(0) 推荐(0) 编辑
摘要:mysql索引信息1 https://www.cnblogs.com/thomasbc/p/15538824.html 本篇文章这是mysql主键索引与非主键索引的细节补充,是姊妹篇的2,上面链接是1 1. 什么是最左前缀原则? 以下回答全部是基于MySQL的InnoDB引擎 例如对于下面这一张表 阅读全文
posted @ 2021-11-17 17:21 托马斯骨头收集 阅读(455) 评论(0) 推荐(0) 编辑
摘要:mysql我现在用的版本还没引入分析函数, https://www.cnblogs.com/thomasbc/p/12470079.html 阅读全文
posted @ 2021-11-16 19:05 托马斯骨头收集 阅读(42) 评论(0) 推荐(0) 编辑
摘要:create table t_score( id int primary key auto_increment, name varchar(20) not null, #名字 Subject varchar(10) not null, #科目 Fraction double default 0 #分 阅读全文
posted @ 2021-11-16 18:01 托马斯骨头收集 阅读(218) 评论(0) 推荐(0) 编辑
摘要:关于MySQL中的事务、提交(commit)、回滚(rollback) 事务:数据库管理系统执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成。 摘要: 一个数据库事务通常包含了一个序列的对数据库的读/写操作。 它的存在包含有以下两个目的: 1.为数据库操作序列提供了一个从失败中恢复到正常状态 阅读全文
posted @ 2021-11-16 10:18 托马斯骨头收集 阅读(7865) 评论(0) 推荐(0) 编辑
摘要:一、 delete后可以跟 where条件, truncate不能跟条件 二、delete删除后有影响行数显示, truncate没有受影响行数显示 三、 delete是一条一条数据删除,效率低 truncate是将整个表删除,在创建一个一模一样的表结构,效率高 四、 delete删除后自增在原来最 阅读全文
posted @ 2021-11-15 18:15 托马斯骨头收集 阅读(242) 评论(0) 推荐(0) 编辑
摘要:姊妹篇1 然后找到这个参数的值 这是老版本的数据mysql的存储引擎的情况,左边user.myi存放数据所在的磁盘地址值,右边user.myd存放数据 上面是myisam红的主键索引与非主键索引的工作方式,都是先去找磁盘的地址值,再去找数据返回 innerDB的主键索引是怎么工作的呢:user.ib 阅读全文
posted @ 2021-11-11 10:45 托马斯骨头收集 阅读(864) 评论(0) 推荐(0) 编辑
摘要:节点的关键字数最多16KB,也就是原来的AVL的纵向的发展,直接被B-TREE变成了横向的发展 那么B-TREE与B+TREE有什么区别 B-TREE: 1.关键字的个数与Degree个数的关系是 Degree-1=最多关键字个数 2。 阅读全文
posted @ 2021-11-10 18:21 托马斯骨头收集 阅读(32) 评论(0) 推荐(0) 编辑
摘要:AVL树:左旋与右旋 AVL树的基本操作一般涉及运做同在不平衡的二叉查找树所运做的同样的算法。但是要进行预先或随后做一次或多次所谓的"AVL 旋转"。 假设由于在二叉排序树上插入结点而失去平衡的最小子树根结点的指针为a(即a是离插入点最近,且平衡因子绝对值超过1的祖先结点),则失去平衡后进行进行的规 阅读全文
posted @ 2021-11-10 15:22 托马斯骨头收集 阅读(30) 评论(0) 推荐(0) 编辑
摘要:了解二叉树之前先复习一下树--算法与数据结构中有学习 树具有的特点有: (1)每个结点有零个或多个子结点 (2)没有父节点的结点称为根节点 (3)每一个非根结点有且只有一个父节点 (4)除了根结点外,每个子结点可以分为多个不相交的子树。 树的基本术语有: 若一个结点有子树,那么该结点称为子树根的“双 阅读全文
posted @ 2021-11-10 11:31 托马斯骨头收集 阅读(122) 评论(0) 推荐(0) 编辑
摘要:-- MySQL中的三中循环 while 、 loop 、repeat 求 1-n 的和 -- 第一种 while 循环 -- 求 1-n 的和 /* while循环语法: while 条件 DO 循环体; end while; */ create procedure sum1(a int) beg 阅读全文
posted @ 2021-11-09 16:45 托马斯骨头收集 阅读(1088) 评论(0) 推荐(0) 编辑
摘要:说实话,这个问题可以涉及到 MySQL 的很多核心知识,可以扯出一大堆,就像要考你计算机网络的知识时,问你“输入URL回车之后,究竟发生了什么”一样,看看你能说出多少了。 之前腾讯面试的实话,也问到这个问题了,不过答的很不好,之前没去想过相关原因,导致一时之间扯不出来。所以今天,我带大家来详细扯一下 阅读全文
posted @ 2021-11-09 14:34 托马斯骨头收集 阅读(237) 评论(0) 推荐(0) 编辑
摘要:2.1、数据库语句的执行顺序 (一): 执行顺序 from -> on -> join -> where -> group by -> having -> count(聚合函数) -> select -> distinct -> order by -> limit (二): 执行步骤解释: (1)、 阅读全文
posted @ 2021-11-09 14:13 托马斯骨头收集 阅读(1984) 评论(0) 推荐(0) 编辑
摘要:lag与lead函数是跟偏移量相关的两个分析函数, 这种操作可以代替表的自联接,并且LAG和LEAD有更高的效率。 通过这两个函数可以在一次查询中取出同一字段的前N行的数据(lag)和后N行的数据(lead)作为独立的列,从而更方便地进行进行数据过滤。 over()表示 lag()与lead()操作 阅读全文
posted @ 2021-11-09 11:54 托马斯骨头收集 阅读(1390) 评论(0) 推荐(0) 编辑
摘要:公交车上刷了一下知乎,看到一个问题:【怎么处理才能把左边的表变成右边?】 其实问题提问的很模糊,没有业务描述,只说结果,接下来也就是按照答者的理解吧 答者认为该题需求:用户连续访问同一个页面时,只保留最早的一条而已。 思路:我们冗余列来制作数据行之间的信息差,第一次我们需要明确数据的顺序(知道前后) 阅读全文
posted @ 2021-11-09 09:33 托马斯骨头收集 阅读(1185) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示