摘要:
MySQL优化 1、尽量避免使用子查询 例: SELECT * FROM t1 WHERE id (SELECT id FROM t2 WHERE name = 'chackca'); 其子查询在Mysql5.5版本里,内部执行计划是这样:先查外表再匹配内表,而不是先查内表t2,当外表的数据很大时, 阅读全文
摘要:
传统的分页,是基于offset进行分页,如果页码数很大的情况下,每次都需要遍历之前的offset+N条数据, 在分页多的时候容易出现MySQL性能瓶颈,所以我们可以基于取前一页的最大行数的id(将上次遍历到的最末尾的数据ID传给数据库,然后直接定位到该ID处,再往后面遍历数据) 然后根据这个最大的i 阅读全文
摘要:
Voliate关键字 禁止线程缓存变量结果。 可见性问题主要指一个线程修改了共享变量值,而另一个线程却看不到。 引起可见性问题的主要原因是每个线程拥有自己的一个高速缓存区——线程工作内存 1.Voliate保证可见性 不使用volatile关键字 public class Test { privat 阅读全文
摘要:
NIO基础(非阻塞式IO ) 1.三大组件 1.1.Channel & Buffer Channel有一点类似于 stream,它就是读写数据的双向通道(Java IO流中的OutputStream和InputStream都是单向通道),可以从 channel将数据读入 buffer,也可以将buf 阅读全文