随笔分类 - DB_数据库
数据库知识
摘要:date 是精确到日,datetime精确到秒。timestamp 时间戳 date: 日期 如:2019-10-26 不带时分秒datetime: 日期时间 如:2019-10-26 10:53:00 带时分秒 timestamp: 时间戳,见百度百科: 时间戳是指格林威治时间1970年01月01
阅读全文
摘要:数据库:Mysql 在使用mybatis的过程中对执行sql的返回值产生疑问,顺手记录一下。 结论: insert: 插入n条记录,返回影响行数n。(n>=1,n为0时实际为插入失败) update:更新n条记录,返回影响行数n。(n>=0) delete: 删除n条记录,返回影响行数n。(n>=0
阅读全文
摘要:在SSM框架中,@Param主要是用来注解dao类中方法的参数,便于在对应的dao.xml文件中引用,如:在userDAO类中有这么一个函数: public User selectByNameAndPwd(@Param("userName") String name,@Param("Password
阅读全文
摘要:Update方法:int updateByPrimaryKey(T record);说明:根据主键更新实体全部字段,null值会被更新 方法:int updateByPrimaryKeySelective(T record);说明:根据主键更新属性不为null的值 Mybatis通用Mapper介绍
阅读全文
摘要:DO:domain object持久对象就是从现实世界中抽象出来的有形或无形的业务实体。 PO:persistant object持久对象最形象的理解就是一个PO就是数据库中的一条记录。好处是可以把一条记录作为一个对象处理,可以方便的转为其它对象。 BO:business object业务对象主要作
阅读全文
摘要:如果想了解 redis 与Memcache的区别参考:Redis和Memcache的区别总结 阿里的面试官问问我为何redis 使用跳表做索引,却不是用B+树做索引 因为B+树的原理是 叶子节点存储数据,非叶子节点存储索引,B+树的每个节点可以存储多个关键字,它将节点大小设置为磁盘页的大小,充分利用
阅读全文
摘要:redis本身就是事件驱动模型,你incr递增好了,然后get获取判断一下是否超过次数 参考:如何用java实现redis incr的高并发计数器
阅读全文
摘要:redis使用跳表不用B+数的原因是:redis是内存数据库,而B+树纯粹是为了mysql这种IO数据库准备的。B+树的每个节点的数量都是一个mysql分区页的大小(阿里面试) 还有个几个姊妹篇:介绍mysql的B+索引原理 参考:一步步分析为什么B+树适合作为索引的结构 以及索引原理 (阿里面试)
阅读全文
摘要:阿里的人问我 缓存雪崩(大量数据在同一时间过期了)了如何处理,缓存击穿了如何处理,回答的很烂,做了总结: 把redis作为缓存使用已经是司空见惯,但是使用redis后也可能会碰到一系列的问题,尤其是数据量很大的时候,经典的几个问题如下: 1. 缓存穿透 在大多数互联网应用中,缓存的使用方式如下图所示
阅读全文
摘要:还有一篇文章 讲解guava如何删除过期数据的,与redis不同,guava没有维护线程删除过期key,只是在设置 key 或者 读取key的时候,顺带删除参考:GuavaCache简介(一)是轻量级的框架 少量数据,并且 过期时间相同 可以用 GuavaCache 内存上限Redis可以通过 ma
阅读全文
摘要:创建联合索引时列的选择原则 在Mysql建立多列索引(联合索引)有最左前缀的原则,即最左优先。如果我们建立了一个2列的联合索引(col1,col2),实际上已经建立了两个联合索引(col1)、(col1,col2);如果有一个3列索引(col1,col2,col3),实际上已经建立了三个联合索引(c
阅读全文
摘要:hbase是列数据库,是kv结构的,ES的基于Lucene的搜索引擎的面向文档数据库吧 ES是搜索引擎,主要的优势在于快速搜索,HBase是数据库,优势在于存储数据,侧重点不同 MySQL:关系型数据库,主要面向OLTP,支持事务,支持二级索引,支持sql,支持主从、Group Replicatio
阅读全文
摘要:线上某服务时不时报出如下异常(大约一天二十多次):“Deadlock found when trying to get lock;”。 Oh, My God! 是死锁问题。尽管报错不多,对性能目前看来也无太大影响,但还是需要解决,保不齐哪天成为性能瓶颈。 为了更系统的分析问题,本文将从死锁检测、索引
阅读全文
摘要:集群分片 比如 5主5从,也就是说 数据过来之后会均匀的分配到5台服务器上面,5台服务器上面的数据是不同的,但是每个服务器都有一个从服务器,上面的数据跟这一台主服务器的数据是一样的; 也就是说,对于这5对服务器总体来说,这就是集群分片模式,而对于这5对服务器的每一对,都是一个主从模式 关于哨兵模式,
阅读全文
摘要:1)对于hive内置的列,不是自己建的,在查询的时候需要添加反引号` 比如:`_mt_message`,别在这里犯错误, (2)南京的_mt_message是json的格式,所以可以直接使用:get_json_object(`_mt_message`,'$.Flag') 南京的: 代码块 {"Eng
阅读全文
摘要:参考:MySQL中KEY、PRIMARY KEY、UNIQUE KEY、INDEX 的区别 对于题目中提出的问题,可以拆分来一步步解决。在 MySQL 中 KEY 和 INDEX 是同义。那这个问题就可以简化为 PRIMARY KEY,UNIQUE KEY 和 INDEX 的区别。而这三者也正好是索
阅读全文
摘要:读写分离==>提高数据库的读能力的水平扩展 分库分表==>提高数据库的写能力的水平扩展
阅读全文
摘要:此软件在连接的时候,需要这样: 新建链接==》连接属性==>编码选择自动==》如果此时点击确定的话,会把整个服务器的所有数据库都打开, 我们也可以只打开指定的数据库, 点击高级==》使用高级连接==》qcs_appeal==>确定 就可以了
阅读全文
摘要:rownum,rowid都叫伪列。 但是,rownum是逻辑上的编号,且其值总是从1开始,每行的rounum不是固定的。而rowid是“物理”编号。若数据库文件没有移动,则每行的 rowid一般是固定不变的。 racle中rownum用法的总结 对于 Oracle的 rownum 问题,很多资料都说
阅读全文
摘要:mysql的B+树索引 查找使用了二分查找,redis 跳表也使用了二分查找法,kafka查询消息日志也使用了二分查找法,二分查找法时间复杂度O(logn); 参考:redis的索引底层的 跳表原理 实现 聊聊Mysql索引和redis跳表 redis的跳表原理 时间复杂度O(logn)(阿里) 参
阅读全文