- 博客(19)
- 资源 (15)
- 收藏
- 关注
原创 Redis--流水线
在使用redis时,对于相同的数据操作,通过for循环不停的与Redis交互,这样性能不是很好,Redis支持流水线技术,一次性发送所有的数据操作,这样可以大幅度的提高速度。Demo:redisTemplate.executePipelined(new SessionCallback<List>() { @Override publi...
2019-01-29 17:46:07 319
原创 MySQL--行锁
偏向InnoDB存储引擎,开销大,加锁慢,会出现死锁,锁定粒度最小,发生锁冲突的概率最低,并发度也最高。InnoDB与MyIsAm的最大不同有两点,一是支持事务,二是采用了行级锁,...
2019-01-28 23:15:46 311
原创 MySQL--表锁
从对数据操作的类型来分读锁(共享锁):针对同一份数据,多个读操作可以同时进行而不会互相影响。写锁(排他锁):当前写操作没有完成前,它会阻断其他写锁和读锁。从对数据操作的粒度来分三锁:表锁(偏读)偏向MyISAM存储引擎,开销下,加锁快,无死锁;锁定粒度大,发生锁冲突的概率最高,并发读最低。给mylock表上读锁,给book表上写锁lock table mylock read,boo...
2019-01-28 22:04:39 161
原创 MySQL--全局查询日志
1 开启该功能set global general_log=1;以表格的形式存储SQL,set global log_output='TABLE';记录会存储到mysql库的general_log表中,可以通过如下查看select * from mysql.general_log;...
2019-01-27 23:12:54 562 1
原创 MySQL--show profile
showprofile是mysql提供用来分析当前会话中语句执行的资源消耗情况,可以用于SQL的调优的测量。默认情况下,参数处于关闭状态,并保存最近15次的运行结果。开启功能,默认是关闭的,使用前需要开启show variables like ‘profiling’开启set profiling=on;运行SQLselect * from T_TEST;查看结果show p...
2019-01-27 23:02:24 187
原创 MySQL--慢查询
MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中,long_query_time的默认值为10,意思是运行10秒以上的语句。默认情况下,MySQL数据库没有开启慢查询日志,...
2019-01-27 22:21:06 290 1
原创 MySql--Order By 和Group By优化
Order By1 排序往往都会出现文件排序,可以通过索引来优化排序,与查询一样,同样需要满足最左前缀原则,即用到的索引列开头列不能断,中间不能断。。。仔细观察如下案例。如下,order by中完全按照索引列的顺序来创建,所以不会出现文件排序。比较特殊的情况,顺序要么是同升,要么是同降。ORDER By 满足两种情况,会使用Index方式排序:ORDER By语句使用索引最左...
2019-01-26 23:51:09 387
原创 Spring--事务传播
传播行为是方法之间调用事务采取的 策略问题,比如执行多个insert操作,传统的是出现异常,全部回滚,但是现在不想全部回滚,正常的数据继续执行insert操作。public enum Propagation { /** *需要事务,它是默认传播行为,如果当前存在事务,就沿用当前事务 , *去否则新建一个事务运行子方法 */ REQUIRED(TransactionDefinitio...
2019-01-26 17:18:20 418 1
原创 MySQL--In与Exists查询优化
1 小表驱动大表,即小的数据集驱动大的数据集。SELECT * FROM table WHEREEXIST (SUBQUERY)将主查询的数据,放到子查询中做验证,根据验证结果TRUE或FALSE,来决定主查询的数据结果是否得以保留。...
2019-01-25 23:01:40 240
原创 MySQL--索引
单表优化案例创建表CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) DEFAULT NULL, `birthday` datetime DEFAULT NULL, `age` int(11) DEFAULT NULL, PRIMARY KEY (`id`)) EN...
2019-01-23 23:30:57 236
原创 MySQL--存储引擎
1 MYSQL架构2 存储引擎2.1 常用命令2.1.1 查看数据库引擎- show engines;2.1.2 查看当前默认的引擎-- show variables like ‘%storage_engine%’;2.2 InnoDB与MyIsAm比较MyIsAm对事务不支持,InnoDB支持MyIsAm即使操作一行数据也会锁住整个表,InnoDb行锁操作时只锁住一行,不对其他...
2019-01-22 22:38:51 2509
原创 Spring--默认标签的解析
1 在DefaultBeanDefinitionDocumentReader的方法parseBeanDefinitions中对于标签的解析分为默认标签的解析和自定义标签的解析。而默认标签与自定义标签的的区分是根据命名空间来进行判断的。具体代码如下BeanDefinitionParserDelegate类public static final String BEANS_NAMESPACE_UR
2019-01-19 17:39:34 367 4
原创 JS--01--基础实用总结
因为工作中 要用到JS,故边学边用,看了一些教程和资料,自己手动写了几个比较有意思的,记录下来。 1 全选html xmlns="http://www.w3.org/1999/xhtml">head> meta name="keywords" content="keyword1,keyword2,keyword3"> meta name="description" conte
2019-01-19 17:33:02 124
原创 MySQL--基于数据库的号码自增生成实践
需求:生成指定规则递增的号码:年月日+当天的第几个,如:201901140001,即209年1月14日哪一天的第一个号码,关键点1 获取当天的号码个数、2 加0处理,如当天第一个,即0+1=1.加0,则为0001,保持四位。采用LPAD函数。测试表CREATE TABLE `test01` ( `id` int(11) NOT NULL AUTO_INCREMENT, `numb...
2019-01-14 10:26:27 395
原创 数据结构--BTree
一颗N阶的B-Tree树中各个节点的关键码的个数不能超过N-1,各个节点的孩子节点数不能超过N。执行插入38操作:由于被插入的节点中关键码的个数超过了2,则执行分裂,分裂的过程如下:将37左边和右边两边分隔开,37提升。B+Tree在B-Tree的基础上的变种。1 N个关键码对应N个子树,即关键码与子树一一对应。2 关键码为子树关键码中最大的值。3 终端节点通过单链表连接起...
2019-01-13 22:07:03 1131
转载 Nginx--记一次400排查
做大文件上传,nginx报400.在网上找了一下相关的信息。client_max_body_size 客户端的传输的最大文件大小client_max_body_size 4096M;参考文章:https://www.jianshu.com/p/90a5083c8e8e...
2019-01-11 17:11:54 429
原创 Jquery--与样式交互
<!doctype html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1, maximum-scale=1, user-scala
2019-01-11 16:51:47 126
转载 Mysql--索引
索引的好处:1 可以帮助服务器避免排序。B-Tree索引在如下的情况中会生效1 全值匹配–联合索引在查询中均用到了,SELECT * FROM peopleWHERE last_name="tang"AND first_name="xi"AND createtime='2019-01-09 00:00:00'2 匹配最左前缀–使用组合索引的第一列EXPLAIN SELEC...
2019-01-10 23:37:02 176
SpringBoot-Mybatis多数据源.
2018-01-20
mina经典demo
2017-09-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人