随笔分类 - DB-SQL
DB-SQL问题
摘要:本文主要讲解left join on 和where 的区别,以及用法首先数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临时表,然后再将这张临时表返回给用户。 在使用left join时,on和where条件的区别如下: 1、 on条件是在生成临时表时使用的条件,它不管on中的条件是否为
阅读全文
摘要:前言为了提高数据库的查询效率,建索引是最常用的手段。那么问题来了,如果查询条件为2个及以上,我们是创建多个单列索引好呢,还是建一个联合索引比较好? 正文我们首先来建一张表,并且指定其中的3个字段(学号、姓名、电话)为联合索引: CREATE TABLE `student` ( `id` int(11
阅读全文
摘要:在进行非功能测试的时候,发现 IO 有规律的 上升和下降,但是我们的TPS一直没变,不停地发送消息; 现在分析下什么原因导致的 1、15号跑的: 正好在16号的 2点开始下降;到7点45开始上升 从 58% 到 67% 2、14号跑的:14号22点18分下降 到 4点08分上升 从 58%到 66%
阅读全文
摘要:关于 explain的详解:MySQL EXPLAIN详解 经典问题: 滴滴面试的时候面试官问了个问题: 1、如果 A,B 两列都有索引,那么 select * from Table where A=a or B=b; 会走索引码: 答案:会,因为 A,B都有索引; 2、如果 A,B有索引,但是C没
阅读全文
摘要:很多面试官会问关于索引失效的问题,可以参考:索引失效的情况及解决(超详细) 滴滴面试- 面试官一般会问type:里面主要关注type ,如果是 全表扫描的话是all,这个最忌讳,一般要优化到:range最好能达到ref级别; 还有个问题,就是索引的失效,什么情况下会失效呢 参考:索引失效的情况及解决
阅读全文
摘要:MyBatis的执行原理详细介绍 为了使大家能够更加清晰的理解MyBatis程序,在正式讲解MyBatis入门案例之前,先来了解一下MyBatis程序的工作原理,如图1所示。 图1 MyBatis框架执行流程图 从图1可以看出,MyBatis框架在操作数据库时,大体经过了8个步骤。下面就对图1中的每
阅读全文
摘要:SELECT * from pms_event where substring(event_id, 9, 5)<>tenant_id and length(event_id)=13
阅读全文
摘要:oracle 的in 最大为1000,如果再多了需要循环查询; IN里面最多200条达到性能瓶颈; 循环查询能提升近8-9倍的效率; 多线程是性能最好的,建议使用。 参考:MySQL之IN的优化 参考:oracle sql查询中用in列表中最大表达式数大于1000的处理
阅读全文