SQL
文章平均质量分 61
sql相关
Java超神之路
这个作者很懒,什么都没留下…
展开
-
实现手动分页
1.IPageIPage info = new Page<>();@Override public IPage<DAlarmDetail> findPageAndList(DAlarmInfoVO vo) { List<DAlarmDetail> dAlarmDetails = getDAlarmDetails(vo); IPage<DAlarmDetail> info = new Page<>();原创 2022-04-12 12:41:22 · 557 阅读 · 0 评论 -
spring boot事务不生效
对于从事java开发工作的同学来说,spring的事务肯定再熟悉不过了。在某些业务场景下,如果一个请求中,需要同时写入多张表的数据。为了保证操作的原子性(要么同时成功,要么同时失败),避免数据不一致的情况,我们一般都会用到spring事务。确实,spring事务用起来贼爽,就用一个简单的注解:@Transactional,就能轻松搞定事务。我猜大部分小伙伴也是这样用的,而且一直用一直爽。但如果你使用不当,它也会坑你于无形。今天我们就一起聊聊,事务失效的一些场景,说不定你已经中招了。不信,让我们一起看原创 2022-03-07 09:42:44 · 5742 阅读 · 2 评论 -
sql优化常用的几种方法
1.EXPLAINtype列,连接类型。一个好的SQL语句至少要达到range级别。杜绝出现all级别。key列,使用到的索引名。如果没有选择索引,值是NULL。可以采取强制索引方式。key_len列,索引长度。rows列,扫描行数。该值是个预估值。extra列,详细说明。注意,常见的不太友好的值,如下:Using filesort,Using temporary。2.SQL语句中IN包含的值不应过多MySQL对于IN做了相应的优化,即将IN中的常量全部存储在一个数组里面,而且这个数组是排好原创 2022-03-07 08:53:58 · 19586 阅读 · 11 评论 -
MySQL-MVCC
1.什么是MVCCMVCC:全称Multi-Version Concurrency Control,即多版本并发控制。MVCC是为MySQL并发场景下无锁生成读视图进行读操作来进行多版本控制。或者叫MVCC:一致性非锁定读mvcc是基于MySQL的回滚机制,在并发场景下为读操作做的的读取的一个优化。MVCC实现实现基于undo log 版本链 + ReadView机制https://www.51cto.com/article/641019.htmlundologundo log存在原创 2022-02-27 21:59:20 · 561 阅读 · 0 评论 -
MySql-索引
为什么不用hashmap模糊查寻没法做,hashcode找范围查找不用B树深度,减少IOb+树有序最左匹配原则聚簇索引:主键,B+树辅助索引:B+树,叶子节点存放所有的聚簇索引索引失效LOL + - * /not nulllike:不是所有的,最左匹配原则不会失效,%开头的会失效or :or前后都是索引字段不会失效,有一个不是索引就会失效L(联合索引):索引列顺序,按首个索引列开始加减乘除:select 字段 from 表 where age -1 = 20;索引会失效原创 2022-02-25 20:59:38 · 377 阅读 · 0 评论 -
sql在 多个id里获取并且都是最大时间的数据
SELECT MAX(last_up_time)FROM sc_lamp_rtdwhere device_id in ('4G0000000025','4G0000000147')GROUP BY device_id原创 2021-12-02 17:53:19 · 483 阅读 · 0 评论