随笔分类 -  DB_数据库

数据库知识
摘要:本文主要讲解left join on 和where 的区别,以及用法首先数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临时表,然后再将这张临时表返回给用户。 在使用left join时,on和where条件的区别如下: 1、 on条件是在生成临时表时使用的条件,它不管on中的条件是否为 阅读全文
posted @ 2023-11-21 14:13 aspirant 阅读(3412) 评论(0) 推荐(0) 编辑
摘要:也是很巧合,之前遇到过一次情况,一条SQL,根据时间范围查数据,但有时候速度很快,有时候速度就慢。 第一反应是没有设置索引,但开发人员告诉我已经设置了二级索引,查询的速度依然有快有慢。 通过explain解析,发现同一条SQL,时间范围不一样,有的使用了索引,有的全表扫描。 当时我都懵逼了! 经过查 阅读全文
posted @ 2023-03-17 09:36 aspirant 阅读(732) 评论(0) 推荐(0) 编辑
摘要:一.什么是MongoDBMongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写,是一个开源数据库系统。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。MongoDB 阅读全文
posted @ 2022-12-01 14:42 aspirant 阅读(332) 评论(0) 推荐(0) 编辑
摘要:前言为了提高数据库的查询效率,建索引是最常用的手段。那么问题来了,如果查询条件为2个及以上,我们是创建多个单列索引好呢,还是建一个联合索引比较好? 正文我们首先来建一张表,并且指定其中的3个字段(学号、姓名、电话)为联合索引: CREATE TABLE `student` ( `id` int(11 阅读全文
posted @ 2022-11-16 18:09 aspirant 阅读(1285) 评论(0) 推荐(1) 编辑
摘要:也可以参考:redis使用lua脚本 为什么使用:(1) 减少网络开销: 在Redis操作需求需要向Redis发送5次请求,而使用脚本功能完成同样的操作只需要发送一个请求即可,减少了网络往返时延。 (2) 原子操作: Redis会将整个脚本作为一个整体执行,中间不会被其他命令插入。换句话说在编写脚本 阅读全文
posted @ 2022-10-09 16:35 aspirant 阅读(9014) 评论(0) 推荐(0) 编辑
摘要:我后来改成了1万条,数据库相对小点 压力不大,也不会出现重启的问题; 最近跟数据库干上了先说下问题起源,算奖确认订单,需要批量update订单,查了相关资料,是mybatis一次性绑定变量超过65535(这个数值并不准,因为后来绑定变量超过一万一又导致Oracle挂掉一次),引发了Oracle的一个 阅读全文
posted @ 2022-09-20 18:21 aspirant 阅读(476) 评论(0) 推荐(0) 编辑
摘要:总结: redis,备份有两种类型 RDB(Redis Database Backup File),AOF(Appending Only File) 第一种 耗时较长,需要消耗大量CPU和内存,用于一般场景下的主从全量复制,数据库备份,生成的文件是压缩后的二进制,有可能会丢失数据,用于对数据不敏感的 阅读全文
posted @ 2022-04-21 17:00 aspirant 阅读(241) 评论(0) 推荐(0) 编辑
摘要:银行的面试官问了个简单的问题,满足第二范式,但是不满足第三范式的例子 首先我们要搞清楚 第一,第二,第三范式的定义 网上很多,但是都不好理解我这里简单总结下 一、三大范式通俗解释: (1)简单归纳: 第一范式(1NF):字段不可分; 第二范式(2NF):有主键,非主键字段依赖主键; 第三范式(3NF 阅读全文
posted @ 2022-04-19 19:21 aspirant 阅读(1738) 评论(2) 推荐(0) 编辑
摘要:关于 explain的详解:MySQL EXPLAIN详解 经典问题: 滴滴面试的时候面试官问了个问题: 1、如果 A,B 两列都有索引,那么 select * from Table where A=a or B=b; 会走索引码: 答案:会,因为 A,B都有索引; 2、如果 A,B有索引,但是C没 阅读全文
posted @ 2022-04-19 18:55 aspirant 阅读(966) 评论(0) 推荐(0) 编辑
摘要:很多面试官会问关于索引失效的问题,可以参考:索引失效的情况及解决(超详细) 滴滴面试- 面试官一般会问type:里面主要关注type ,如果是 全表扫描的话是all,这个最忌讳,一般要优化到:range最好能达到ref级别; 还有个问题,就是索引的失效,什么情况下会失效呢 参考:索引失效的情况及解决 阅读全文
posted @ 2022-04-19 18:49 aspirant 阅读(171) 评论(0) 推荐(0) 编辑
摘要:MyBatis的执行原理详细介绍 为了使大家能够更加清晰的理解MyBatis程序,在正式讲解MyBatis入门案例之前,先来了解一下MyBatis程序的工作原理,如图1所示。 图1 MyBatis框架执行流程图 从图1可以看出,MyBatis框架在操作数据库时,大体经过了8个步骤。下面就对图1中的每 阅读全文
posted @ 2022-04-15 17:59 aspirant 阅读(454) 评论(0) 推荐(0) 编辑
摘要:1. 背景 上半年我们使用RocksDB做存储引擎,实施了Redis数据实时落地的项目,实现了在兼容redis协议的前提下,管理超出内存大小的数据集。 在主从同步方面,我们沿用了Redis原有的方案,该方案在实际运营中应对不良的网络状况显得很无力,因此我们在数据落地的基础上,为Redis开发了一套新 阅读全文
posted @ 2022-04-14 11:51 aspirant 阅读(271) 评论(0) 推荐(0) 编辑
摘要:Redis有四种常见的运行模式,分别为: 单机模式 主从模式 哨兵模式 集群模式 1.单机模式 单机模式是指在单台服务器中运行的Redis程序,是最原始最基本的模式。 单机模式的优势在于部署简单只要安装好Redis,并进行简单配置即可,因为没有其他Redis节点,因此费用低廉。 单机模式的缺点在于可 阅读全文
posted @ 2022-04-10 16:55 aspirant 阅读(840) 评论(0) 推荐(0) 编辑
摘要:SELECT * from pms_event where substring(event_id, 9, 5)<>tenant_id and length(event_id)=13 阅读全文
posted @ 2021-07-18 14:28 aspirant 阅读(841) 评论(0) 推荐(0) 编辑
摘要:参考:https://www.cnblogs.com/aspirant/p/16166955.html 阅读全文
posted @ 2020-12-03 20:28 aspirant 阅读(702) 评论(0) 推荐(1) 编辑
摘要:同事工作中遇到一个问题: select count(billingdate),to_char(billingdate,'YYYYmm') month from tu_trade where to_char(billingdate,'YYYY') ='2017'and reportstat = 30 阅读全文
posted @ 2020-04-03 14:14 aspirant 阅读(3966) 评论(0) 推荐(2) 编辑
摘要:CDATA 在今天使用Mybatis的xml文件中写sql语句时写入了一些特殊字符 如 < > & 等,但解析xml文件的时候会被转义,事实上并不希望它被转义,可以使用<![CDATA[ sql ]]>. 这是XML语法,在CDATA内部的所有内容都会被解析器忽略. 但是因此会导致<if test= 阅读全文
posted @ 2020-02-19 14:48 aspirant 阅读(3920) 评论(0) 推荐(1) 编辑