
数据库
文章平均质量分 54
数据库
清风序来
热爱编程的同学一枚,没有什么是中间层解决不了的,如果有那就再来一层
展开
-
常见的Mysql索引失效场景有哪些?
2,隐式类型转换,会导致索引失效,例如 age字段类型是int,我们 where age = '1', 这样就会触发隐式类型转换。3,like通配符有时会导致索引失效,注意"ABC%"不会失效,"%ABC"索引会失效。6,索引字段上使用is null 或者 is not null可能会导致索引失效。5,索引字段上使用(!= 或者 <>,not in)时,会导致索引失效。7,mysql估计使用全表扫描要比使用索引快,则不使用索引。1,查询条件包含or,会导致索引失效。4,对索引字段进行函数运算。原创 2025-04-10 14:24:50 · 104 阅读 · 1 评论 -
left join、right join和join的区别
left是左边的意思,join是连接的意思,连起来就是“左连接”,表1左连接表2,以左为主,表示以表1为主,关联上表2的数据,查出来的结果显示左边的所有数据,然后右边显示的是和左边有交集部分的数据。join,其实就是“inner join”,为了简写才写成join,两个是表示一个的,内连接,表示以两个表的交集为主,查出来是两个表有交集的部分,其余没有关联就不额外显示出来,这个用的情况也是挺多的,如下。结果集就是02和03部分。原创 2025-04-02 14:46:49 · 497 阅读 · 0 评论 -
如何理解mysql中except和in?
这个需求中,order表有10000条数据,而user表有100条数据。order表是大表,user表是小表。如果order表在左边,则用in关键字性能更好。因为如果sql语句中包含了in关键字,则它会优先执行in里面的子查询语句,然后再执行in外面的语句。假如有order和user两张表,其中order表有10000条数据,而user表有100条数据。前面提到的这种业务场景,使用in关键字去实现业务需求,更加合适。不管是用in,还是exists关键字,其核心思想都是用小表驱动大表。原创 2025-04-02 11:53:58 · 239 阅读 · 0 评论 -
SQL的优化技巧
sql优化是一个大家都比较关注的热门话题,无论你在面试,还是工作中,都很有可能会遇到。如果某天你负责的某个线上接口,出现了性能问题,需要做优化。那么你首先想到的很有可能是优化sql语句,因为它的改造成本相对于代码来说也要小得多。那么,如何优化sql语句呢?这篇文章从15个方面,分享了sql优化的一些小技巧,希望对你有所帮助。1 避免使用。原创 2025-04-02 11:48:07 · 1036 阅读 · 0 评论 -
union all和union的区别
从效率上说,UNION ALL 要比UNION快很多,所以,如果可以确认合并的两个结果集中不包含重复数据且不需要排序时的话,那么就使用UNION ALL。UNION用的比较多,union all是直接连接,取到得是所有值,记录可能有重复 union 是取唯一值,记录没有重复。UNION和UNION ALL关键字都是将两个结果集合并为一个,但这两者从使用和效率上来说都有所不同。[SQL 语句 1][SQL 语句 2][SQL 语句 1][SQL 语句 2]原创 2025-04-02 11:14:01 · 554 阅读 · 0 评论 -
数据库分库分表是啥?读写热点是什么?读扩散又是什么?
我们在上面的分库分表中,都用这个id去分,这其实就是所谓的分片键,实际上我们一般也是用数据库的主键作为分片键,这样理想情况下我们已知一个ID,不管是那个规则,我们根据ID都能很快的知道该去查询那张表。原创 2025-03-30 12:49:57 · 873 阅读 · 0 评论