
数据库&缓存
文章平均质量分 93
zero__007
这个作者很懒,什么都没留下…
展开
-
Mysql多列索引建立与优化
转载自:https://www.jianshu.com/p/c964a5e04adb文章目录索引的物理结构1. where 子句中的多列索引1.1 可以完全使用该索引的优化的情况1.2 可以部分使用该索引的优化的情况1.3 不能使用该索引的优化的情况 对于单列索引,没有太多的话题,但是对于多列索引的建立,一个好的多列索引能使用的场景应可以涵盖很多,减少其他不必要的索引空间,就有很多事情需要注意。索引的物理结构http://www.jianshu.com/p/1775b4ff123a1. w转载 2020-11-08 21:57:32 · 318 阅读 · 0 评论 -
mybatis-generator扩展插件
原生的mybatis-generator不能满足需求时,需要扩展plugin,有两种方式。第一种:import java.util.List;import org.mybatis.generator.api.IntrospectedTable;import org.mybatis.generator.api.PluginAdapter;import org.mybatis.generator.api.dom.java.Interface;import org.mybatis.generator原创 2020-10-29 17:28:54 · 525 阅读 · 0 评论 -
sql中where 1=1和 0=1 的作用
转载自:http://www.cnblogs.com/junyuz/archive/2011/03/10/1979646.html where 1=1; 这个条件始终为True,在不定数量查询条件情况下,1=1可以很方便的规范语句。 举个例子,如果做查询页面,并且可查询的选项有多个,同时,还让用户自行选择并输入查询关键词,那么,按平时的查询语句的动态构造,代码大转载 2016-07-09 07:55:34 · 4213 阅读 · 0 评论 -
列存与行存
转载自: https://blog.csdn.net/qq_26091271/article/details/51778675?locationNum=8&fps=11. 为什么要按列存储 列式存储(Columnar or column-based)是相对于传统关系型数据库的行式存储(Row-basedstorage)来说的。简单来说两者的区别就是如何组织表: R...转载 2018-08-19 17:14:00 · 2757 阅读 · 0 评论 -
数据库平滑扩容
转载自:https://www.cnblogs.com/kafeixiaoluo/p/9156855.html https://www.cnblogs.com/firstdream/p/7090524.html 每一个项目都是由小项目发展而来,从最初的一台数据库,到后面的几千上万台数据库,这发展的过程,都要涉及到一个技术问题:当数据量太大的时候,如何进行扩容? 现有一个站点,用户数据库...转载 2019-02-11 16:49:03 · 2056 阅读 · 0 评论 -
缓存穿透,缓存雪崩,缓存击穿解决方案分析
转载自: http://blog.csdn.net/zeb_perfect/article/details/54135506 http://blog.csdn.net/AlbertFly/article/details/75546170前言 设计一个缓存系统,不得不要考虑的问题就是:缓存穿透、缓存击穿与失效时的雪崩效应。缓存穿透缓存穿透是指查询一个一定不存在的数据,由于缓转载 2019-04-12 12:00:04 · 3450 阅读 · 0 评论 -
缓存更新
先更新数据库,再更新缓存 首先这个逻辑是有问题的。试想,两个更新操作,一个更新数据库为A,但还没来的及更新缓存,另一个更新数据库为B,又更新了缓存值为B,这时候第一个更新操作才更新缓存为A,那样数据库值为B,缓存值为A,数据不一致。 先更新缓存,再更新数据库 这个流程跟上面很类似,出现的问题也很类似。两个更新操作,一个更新缓存为A,但还没来的及更新数据库,另一个更新缓存为B,又更新了...原创 2019-03-20 21:54:37 · 470 阅读 · 0 评论 -
JDBC中的setFetchSize()
转载自:http://blog.csdn.net/seven_3306/article/details/9303879在使用MySQL的JDBC时,如果查询结果集过大,使用一次查询,可能会出现Java.lang.OutOfMemoryError: Java heap space问题,因为DB服务器端一次将查询到的结果集全部发送到Java端保存在内存中而造成OOM。MySQL JDB转载 2016-05-20 20:41:44 · 9326 阅读 · 0 评论 -
深入理解JDBC的timeout
转载自:http://blog.csdn.net/kobejayandy/article/details/46916063恰当的JDBC超时设置能够有效地减少服务失效的时间。本文将对数据库的各种超时设置及其设置方法做介绍。真实案例: 在遭到DDos攻击后,整个服务都垮掉了,当屏蔽了所有的DDos攻击,并恢复了网络后,业务系统却还是无法工作。通过分析系统的th转载 2016-05-28 08:50:32 · 15886 阅读 · 0 评论 -
DBCP连接池配置参数
DBCP连接池配置参数initialSize="10" 初始化连接,连接池启动时创建的初始化连接数量(默认值为0)maxActive="80" 最大活动连接,连接池中可同时连接的最大的连接数(默认值为8)minIdle="10" 最小空闲连接,连接池中最小的空闲的连接数,低于这个数量会被创建新的连接(默认原创 2015-10-21 14:38:30 · 8240 阅读 · 0 评论 -
SQL优化及注意事项
1.where子句中有"!="或" select * from emp where amount != 0 (不使用) select * from emp where amount > 0 (使用) 2.where条件中对字段增加处理函数将不使用该列的索引。 select * from emp where to_char(date,'yyyymmdd')='原创 2015-12-28 21:13:11 · 521 阅读 · 0 评论 -
SQL优化(续)
1.in 和 not in 要慎用,否则会导致全表扫描,如: select id from t where num in(1,2,3) 对于连续的数值,能用 between 就不要用 in :select id from t where num between 1 and 32.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引转载 2016-03-14 16:11:16 · 468 阅读 · 0 评论 -
SQL行列互换
转载自:http://blog.csdn.net/jackfrued/article/details/45021897数据库中有一张如下所示的表,表名为sales。 年 季度 销售量 1991 1 11 1991 2 12 1991 3 13 19转载 2016-04-25 21:30:02 · 528 阅读 · 0 评论 -
MySQL中的ON DUPLICATE KEY UPDATE
在数据库操作中,例如fee_record记录,如果插入的数据对应的主键userId(或为UNIQUE索引)不存在,则插入;如果新数据的userId已经存在,如果我们期望的是累加fee,而不是提示主键冲突。 在MySQL中可以在INSERT语句末尾使用 ON DUPLICATE KEY UPDATE 来解决我们的需求:insert into fee_record (userId,原创 2016-05-13 20:25:39 · 732 阅读 · 0 评论 -
MySQL删除数据后磁盘空间的释放情况
MySQL删除数据几种情况以及是否释放磁盘空间:1、drop table table_name 立刻释放磁盘空间 ,不管是 Innodb和MyISAM ;2、truncate table table_name 立刻释放磁盘空间 ,不管是 Innodb和MyISAM 。truncate table其实有点类似于drop table 然后creat,只不过这个create tabl转载 2016-05-14 08:05:08 · 15201 阅读 · 0 评论 -
Mysql JDBC 连接串参数说明
转载自:http://blog.csdn.net/kobejayandy/article/details/46974185示例:jdbc:mysql://localhost:3306/db_name?useUnicode=true&characterEncoding=UTF-8几个重要的参数说明:useUnicode:是否使用Unicode字符集,如果有参数characterEnc转载 2016-05-28 08:31:15 · 3230 阅读 · 0 评论