- 博客(11)
- 收藏
- 关注
原创 Mysql Explain 详解
一.语法可以使用:explain < sql >,变种有:explain extended:会告诉服务器“逆向编译”执行计划为一个select语句,可以通过 show warnings看到这个生成的语句(version > 5.0 可用),还会额外增加一个filtered列,vesion=5.6,和explain没区别。 explain partitions:会显示查询的分区,如果查询表是分区表(version > 5.1 可用),还会额外增加一个partitions列,v
2020-09-21 20:17:50
143
原创 MySQL服务器状态
一、系统变量 -- 服务器配置变量MySQL通过SHOW VARIABLES SQL命令显示许多系统变量。从MySQL 5.1起,可以通过访问INFORMATION_SCHEMA库中的表来获取这些信息。--这个错误是在mysql5.7.6以后才出现的,因为从5.7.6以后,information_schema--.global_status已经开始被舍弃,但是为了和以前版本的兼容性,设置了个选项,-- 要想查看status项,需要开户show_compatibility_56选项(off变为.
2020-09-13 22:17:13
264
原创 时间轮算法
一、原理:可以将 HashedWheelTimer 看做一个时钟,有12个数字(1~12),每个时间点对应一个桶,桶里装着任务的列表,每间隔一个时间单位(tickDuration),指针跳到下一个时间点,然后遍历桶里的任务,如果任务到了执行时间,就执行。结构如下图:二、源码1.属性/** * HashedWheelTimer的注释特别说明了不要创建多个HashedWheelTimer对象, HashedWheelTimer是用来管理大量的定时任务的, * 但这些任务要放在同一...
2020-08-30 17:40:39
994
原创 MySql查询性能优化
一些语句查询性能预估select * from xxx; show status like 'last_query_cost';开启慢查询set global slow_query_log=ON;//开启慢查询 set long_query_time=1;//设置慢查询, 1表示比1秒长算慢查询 show status like 'slow_queries';//查询慢查询查询状态show full processlist;查询重构后的查询explain SELE
2020-08-30 17:23:36
192
原创 MySql Schema与数据类型优化
一、数据类型的选择原则 更小的通常更好 1.更小的数据类型通常更快,因为它们占用更少的磁盘、内存和CPU缓存,并且处理时需要的CPU周期也更少。2.要确保没有低估需要存储值得范围,因为在schema中的多个地方增加数据类型的范围是一个非常耗时和痛苦的操作。如果无法确定哪个类型数据类型是最好的,就选择你认为不会超过范围的最小类型。 简单就好 简单数据类型的操作通常需要更少的CPU周期。例如,整型比字符操作代价更低,因为字符集和校对规则(排序规则)使字符比较比整型比较更复杂。应该用MyS
2020-08-16 17:17:15
170
原创 基于AIO的聊天室
/** * 简介: * java 7 的NIO.2提供了一步Channel支持,这种异步的Channel可以提供更高效的IO, * 这种基于异步的Channel的IO机制也被称为异步IO(AsynchronousIO) * 几种IO流的区别: * 按照POSIX的标准来划分IO,可以把IO分为两类:同步IO和异步IO。对于IO操作可以分为两步: * 1.程序发出IO请求 * 2.完...
2020-01-05 22:01:02
419
1
原创 NIO网络编程
介绍:JDK1.4提供了NIO Api 来开发高性能的网络服务器,传统的IO网络通信是阻塞式的Api阻塞式的:当程序执行输入输出操作后,这些操作返回之前会一直阻塞该线程,所以服务器端必须为每个客户端都提供一个独立的线程进行处理,当服务器端需要同时处理大量客户端时,这种做法会导致性能下降。使用NIO可以让服务端用一个或者少量几个线程来同时处理连接到服务器的所有服务端。一、NIO网络的常用方法...
2019-12-15 21:12:23
161
原创 面试常见的几种排序算法
一、快速排序介绍:快速排序的思想是分而治之,通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。public class QuickSort { public static void main(String[] args) { ...
2019-12-08 20:47:03
246
原创 Stream学习笔记
Stream简介/** * 概念:流(Stream)提供了数据视图,让你可以在比集合类更高的层面上指定操作。使用流,只需要指定做什么。 * 而不是怎么做。你只需要将操作的调度执行留给实现。例如,假设你想要计算某个属性的平均值。你只需要指定数据源 * 和属性,然后流类库会优化计算,比如使用多线程来求和、计算以及合并结果。 * 流的操作,分为三步 * 1.生成一个流(如Collecti...
2019-12-01 21:31:27
353
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人