努力奔跑中的coder

源代码的github地址:https://github.com/louyuting

[高性能MySQL]--查询缓存

简单点说,就是对于相同SQL可以跳过SQL解析和执行计划生成阶段,直接返回缓存的结果。也就是缓存完整的SELECT 查询结果。1. MySQL查询缓存:缓存存放在一个哈希表中,通过一个哈希值引用。哈希值包括:查询本身、当前查询数据库、客户端协议等等。 但是需要注意的是SQL语句的任何不同都会导致缓...

2017-02-28 13:38:58

阅读数:410

评论数:0

[高性能MySQL]-特定类型查询的优化

这一节主要是对于一些特定类型的优化查询: (1)count查询优化; (2)关联查询 (3)子查询 (4)GROUP BY 和 DISTINCT优化 (5)LIMIT 分页优化 count查询优化COUNT()聚合函数的作用: (1)统计某一个列值的数量,也可以统计...

2017-02-28 11:33:39

阅读数:388

评论数:0

[MySQL]--查询性能分析工具-explain关键字

explain显示了MySQL如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句。 explain的使用方法很简单,只需要在select查询语句前面加上explain关键字就行。下面给出一个实例: 下面给出回显的数据的含义: (1)id:SELEC...

2017-02-28 09:33:47

阅读数:1785

评论数:3

[MySQL]--查询性能优化

对于高性能数据库来说:库表结构优化、索引优化和查询优化需要齐头并进 1.为什么查询的速度会慢?查询其实就是一系列的子任务组成,优化查询实际上就是:要么消除一些子任务,要么减少子任务执行的次数。 2.慢查询基础:优化数据访问(1)是否向数据库请求了不需要的数据1)查询了不需要的数据: 比如我们通...

2017-02-28 00:45:10

阅读数:329

评论数:0

[b.d]--算法题-求含有min函数的栈的实现

带有min函数的栈 1. 空间复杂度是O(n)这种情况没什么好说的,利用一个同等大的辅助栈,如果入栈数据的数据比辅助栈辅助栈栈顶数据小,就更新辅助栈数据,如果大于或则等于辅助栈的栈顶,就直接吧辅助栈的栈顶复制一次再入辅助栈就行了。这种方法比较简单,没什么说的,也不给出实现了,百度一大堆。2. 空间...

2017-02-27 15:40:46

阅读数:341

评论数:0

[b.d]--算法题-求万级别的电话号码的排序

先给出问题的描述以及解决思路:/** * Created by louyuting on 2017/2/24. * * Question: 对某公司员工的所有电话号码进行排序, 数据量级别明显是万级别的. * * category: 大数据量进行排序 * * solution: (1...

2017-02-27 13:41:30

阅读数:1015

评论数:0

[大型网站系统与Java中间件实践]--分布式服务框架(RPC)

本文涉及到的内容: (1)架构中引入服务框架的概念 (2)服务框架的设计与实现 (3)服务框架在实战中的优化 (4)为服务框架护航的服务治理 其实这一篇博客就是介绍分布式服务框架的设计与实现原理,当然只是一些原理的介绍,具体的实现还得我们自己去开发。本文思路来源于...

2017-02-26 20:39:28

阅读数:1423

评论数:0

[大型网站系统与Java中间件实践]--构建Java中间件的基础

本文主要包括以下内容: (1)Java中间件的定义与三大类型 (2)构建Java中间件涉及到的Java基础知识 (3)分布式系统中的Java中间件 本文涉及到的具体知识并不会在本文博客中给出,很多都在其余博客中进行了讲解,比如构建Java中间件涉及到的Java基础知识,...

2017-02-26 15:34:15

阅读数:799

评论数:0

[大型网站系统与Java中间件实践]--大型网站系统的演进

今天读了下 《大型网站系统与Java中间件实践》 这本书,然后对大型网站系统的演进做了一个演进,画了一个思维导图,分享如下: 具体的图片如果不清晰可以点击这个链接:

2017-02-26 14:37:56

阅读数:509

评论数:0

Java中网络IO的实现方式-BIO、NIO、AIO

在网络编程中,接触到最多的就是利用Socket进行网络通信开发。在Java中主要是以下三种实现方式BIO、NIO、AIO。 关于这三个概念的辨析以前一直都是好像懂,但是表达的不是很清楚,下面做个总结完全辨析清楚。 1. BIO方式首先我用一个较为通俗的语言来说明: BIO 就是阻塞I...

2017-02-26 13:25:33

阅读数:1151

评论数:0

[MySQL]--索引操作常见的SQL

这篇博文主要是做一些记录,关于MySQL中索引操作的一些常用命令的使用: 1. 查看某个表的索引show index from table_name; show keys from table_name;2. 创建索引-- index_name可以省略, 创建普通索引 ALTER TABLE ta...

2017-02-25 16:23:48

阅读数:268

评论数:0

[高性能MySQL]-创建高性能的索引

本文是关于创建索引的的内容: (1) 索引的类型 (2)索引的优点 (3)优化索引的策略 这里给出一个索引的思维导图: 索引是存储引擎用于快速找到记录的一种数据结构。索引是对 查询性能优化 最有效的手段了,索引能够轻松将查询性能提升几个数量级。索引我们一般都是对某一列加索引。存...

2017-02-25 00:19:59

阅读数:422

评论数:0

[高性能MySQL]-存储引擎MyISAM与InnoDB基本区别

这篇博文主要是总结关于MyISAM与InnoDB的区别 InnoDB和MyISAM是使用MySQL时最常用的两个表类型,这两个表类型各有优劣,视具体应用而定。基本的差别为: (1)MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持事务。(2)InnoDB支持数据行锁定;MyIS...

2017-02-24 20:33:49

阅读数:236

评论数:0

[高性能MySQL]-事务与隔离界别

本文主要包括一下内容: (1) 事务的概念与ACID (2)事务的隔离级别 (3)MySQL中的事务 1. 事务与ACID理解事务是其它高级概念的基础。 事务:事务就是一组原子性的SQL查询,或则说是一个独立的执行单元,要么全部成功,要么全部失败,如果失败了就回滚到事务之前的...

2017-02-24 20:17:18

阅读数:544

评论数:0

[高性能MySQL]--MySQL的架构与概念

1.MySQL的逻辑架构 最上面不是MySQL特有的,所有基于网络的C/S的网络应用程序都应该包括连接处理、认证、安全管理等。中间层是MySQL的核心,包括查询解析、分析、优化和缓存等。同时它还提供跨存储引擎的功能,包括存储过程、触发器和视图等。最下面是存储引擎,它负责存取数据。服务器通过sto...

2017-02-20 09:34:04

阅读数:300

评论数:0

[netty]--Reactor线程模型以及在netty中的应用

说道netty的线程模型,我们第一反应就是经典的Reactor线程模型,下面我们就来一起探讨一下三种经典的Reactor线程模型: 这里我们需要理解的一点是Reactor线程模型是基于同步非阻塞IO实现的。对于异步非阻塞IO的实现是Proactor模型。 本文主要包括 (...

2017-02-19 17:16:46

阅读数:4741

评论数:1

[netty]--最通用TCP黏包解决方案:LengthFieldBasedFrameDecoder和LengthFieldPrepender

前面已经说过: TCP以流的方式进行数据传输,上层应用协议为了对消息进行区分,往往采用如下4种方式。 (1)消息长度固定:累计读取到固定长度为LENGTH之后就认为读取到了一个完整的消息。然后将计数器复位,重新开始读下一个数据报文。 (2)回车换行符作为消息结束符:在...

2017-02-19 15:02:11

阅读数:15092

评论数:0

[netty核心类]--ChannelPipeline和ChannelHandler源码分析

本文主要包括: (1)ChannelPipeline的功能说明和源码分析; (2)ChannelHandler的功能说明和源码分析; 在netty中的ChannelPipeline和ChannelHandler的机制就很类似于J2EE中的Servlet和Filter过滤器,这类拦截器就...

2017-02-19 13:27:06

阅读数:990

评论数:0

[netty核心类]--Channel和Unsafe类

主要内容: (1)Channel 功能说明 (2)Unsafe 功能说明 (3)Channel的主要实现子类源码分析 (4)Unsafe主要实现子类源码分析 1.Channel功能说明channel是netty网络IO操作抽象出来的一个接口,主要功能有:网络IO的读写,客户...

2017-02-18 00:59:50

阅读数:2164

评论数:1

[m.t]--算法-求数组中最接近0的子序列

Question:求一个无序数组中最近接0的子序列。 1. 暴力算法:求最接近于0的子数组序列,那么数组中的任何一个元素都有可能成为这个子数组的起点,那么我们可以使用双重for循环求出以每个元素为开头的最接近0的子数组。其实就是两轮for循环,具体的算法就不给出了。2. 优化算法:优

2017-02-17 12:20:52

阅读数:934

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭