mysql    2016-08-26 22:01:24    3416    1    1
什么是索引 索引是存储引擎用于快速找到记录的一种数据结构,索引类似一本书的目录,我们根据目录可以快速的查找到我们感兴趣的内容。索引就是存储引擎的目录,如果没有索引存储引擎必须遍历整个数据库表来查询符合条件的记录,索引的建立和优化应该是提升查询性能最有效的手段了。 索引的类型 索引是在MySQL的存储引擎层中实现的,而不是在服务层实现的。所以每种存储引擎的索引都不一定完全相同,也不是所有的存储引擎都支持所有的索引类型。即使多个存储引擎支持同一种类型的索引,其底层实现也可能不同。 B-Tree索引 B-Tree是MyISAM和InnoDB引擎默认索引类型,也可以在创建索引时通
无    2016-07-30 19:01:10    933    0    0
1. IP协议 数据链路层的主要作用是在互联的同一种数据链路的节点之间进行包传递。而网络层是在数据链路层的基础上跨越不同的数据链路实现两个端点之间数据包传输。 IP提供无连接不可靠服务,不可靠意思是它不能保证IP 数据报能成功地到达目的地。如果发生某种错误时,如某个路由器暂时用完了缓冲区, IP 有 一 个 简 单 的 错 误 处理算法:丢弃该数据报,然后发送 ICMP 消 息 报 给发送端 。 任 何 要 求 的 可 靠 性 必 须 由 上 层 来 提供(TCP)。 无连接指每个数据报的处理是相互独立的,IP 数 据 报 可 以 不 按 发 送 顺 序 接 收,如 果发送端 向目的端
无    2016-07-24 22:55:13    1291    0    0
## 功能 物理层负责0、1比特流与物理设备电压高低、光的闪灭之间的互换。 数据链路层负责将0、1序列划分为**数据帧**从**一个节点传输到临近的另一个节点**,这些节点是通过MAC来唯一标识的。 > MAC地址是NIC厂商(网卡、适配器)在生产网卡时烧入ROM中的,任何一个网卡(通常内置在电脑、手机中等设备中)的MAC地址都是全球唯一的。 数据链路层通常包括操作系统中的设备驱动程序(软
linux    2016-07-22 17:20:53    510    1    0
理解inode 文件储存在硬盘上,硬盘的最小存储单位叫做”扇区”(Sector,0.5KB),多个扇区组成”块”(block,一般为4k)。 操作系统以块为单位读取硬盘。 一个文件占用一个 inode(索引节点),inode中记录文件的元信息。 inode 的数目和大小(128b/256b)在格式化时指定,因此文件系统所能建立的总档案数目是有限制的。 inode包含的具体内容 inode编号 文件类型 文件的字节数 文件拥有者的User ID 文件的Group ID 文件的读、写、执行权限 文件的时间戳,共有三个:ctime指inode
golang    2016-06-23 15:24:12    6717    0    0
daemon的概念 守护进程(daemon)就是一直在后台运行的进程,它没有控制终端,无法和前台的用户交互。当我们打开一个终端时会创建一个session会话(shell),从用户登录开始到用户退出为止,这段时间内在该终端执行的进程都属于这一个会话。一个会话一般包含一个前台进程组、一个后台进程组和一个会话首进程(shell程序本身)。 例如用以下命令启动5个进程: $ proc1 | proc2 & $ proc3 | proc4 | proc5 proc1和proc2属于同一个后台进程组,proc3、proc4、proc5属于同一个前台进程组,Sh
mysql    2016-06-08 11:17:53    3629    0    1
逻辑查询步骤 查询操作是关系数据库中使用最为频繁的操作,也是构成其他SQL语句(如DELETE、UPDATE)的基础。查询处理的顺序如下: (7) SELECT (8) DISTINCT (1) FROM (3) JOIN (2) ON (4) WHERE (5) GROUP BY (6) HAVING (9) ORDER BY (10) LIMIT 1)FROM:对FROM子句中的左表和右表执行笛卡儿积(Cartesian product),产生虚拟表VT1。 2)ON:对虚拟表VT1应用ON筛选,只有那些符合的行才被插入虚拟表VT2中。 3)JOIN:如果指定
mysql    2016-06-07 14:54:02    386    0    0
联接(JOIN) CROSS JOIN(交叉联接) CROSS JOIN对两个表执行笛卡儿积,返回两个表中所有列的组合。若左表有m行数据,右表有n行数据,则CROSS JOIN将返回m*n行的表。 SELECT * FROM tableA [CROSS] JOIN tableB SELECT * FROM tableA,tableB INNER JOIN(内联接) INNER JOIN首先产生笛卡儿积的虚拟表,再按照ON过滤条件来进行数据的匹配操作。 SELECT * FROM tableA [INNER] JOIN tableB ON t
mysql    2016-05-22 00:28:28    1279    0    0
运算符 算术运算符 MySQL 支持的算术运算符包括加、减、乘、除和模运算。 在除法运算和模运算中,如果除数为0,将是非法除数,返回结果为NULL。 比较运算符 当使用SELECT语句进行查询时, MySQL允许用户对表达式的左边操作数和右边操作数进行比较,比较结果为真,则返回1,为假则返回 0,比较结果不确定则返回NULL。 符号 描述 备注 = 等于 <>, != 不等于 > 大于 < 小于 <= 小于 >
mysql    2016-05-18 23:46:16    1328    0    0
[TOC] ## 数字类型 ### 整形 在整数类型中,按照取值范围和存储方式不同,分为tinyint、smallint、mediumint、int和bigint这 5个类型。 ![title](https://leanote.com/api/file/getImage?fileId=59882687ab64411f3900133c) > + MySQL可以为整形指定宽度,例如int
golang    2016-04-28 10:42:54    3859    1    0
文章主要是参考雨痕学堂(微信订阅号)及其他网友的博客然后根据自己的理解整理而成。 string与[]byte相互转换 在写程序的过程中经常遇到string与[]byte的相互转换,但是这种转换是有代价的,string与[]byte并不共享底层内存空间,所以每次转换都伴随着内存的分配与底层字节的拷贝。 我们可以借助unsafe完成指针类型转换,避开内存分配与复制,从而提升性能。属于黑魔法,尽量不要用。 /* struct string{ uint8 *str; int len; } struct []uint8{ uint8 *array;
2/4