场景一,数据表规模不大,就几千行,即使不建索引,查询语句的返回时间也不长,这时建索引的意义就不大。当然,若就几千行,索引所占的空间也不多,所以这种情况下,顶多属于“性价比”不高。 场景二,某个商品表里有几百万条商品信息,同时每天会在一个时间点,往其中更新大概十万条左右的商品信息,现在用where语句 ...
分类:
编程语言 时间:
2017-08-26 10:14:25
阅读次数:
207
如果在面试或与资深人事交流的过程中,你能有效合理地展示出本章所给出的一些知识点,那么对你的评价就会是“对数据库有深入了解”,甚至能加上“有设计数据表的经验”,即便你说有过3年商业项目数据库操作的经验,那么别人也能相信。 相反,如果一个工作经验满3年的程序员或许动手编程能力不差,但无法在交流沟通过程中 ...
分类:
数据库 时间:
2017-08-26 10:14:19
阅读次数:
222
主要内容: 缓存简介 页高速缓存 页回写 1. 缓存简介 在编程中,缓存是很常见也很有效的一种提高程序性能的机制。 linux内核也不例外,为了提高I/O性能,也引入了缓存机制,即将一部分磁盘上的数据缓存到内存中。 1.1 原理 之所以通过缓存能提高I/O性能是基于以下2个重要的原理: 1.2 策略 ...
分类:
系统相关 时间:
2017-08-25 15:54:57
阅读次数:
270
接上篇JAVA编程思想读书笔记(四)--对象的克隆 No1: daemon Thread(守护线程) 参考http://blog.csdn.net/pony_maggie/article/details/42441895 daemon是相于user线程而言的,可以理解为一种运行在后台的服务线程,比如 ...
分类:
编程语言 时间:
2017-08-25 15:54:07
阅读次数:
219
进程地址空间也就是每个进程所使用的内存,内核对进程地址空间的管理,也就是对用户态程序的内存管理。 主要内容: 地址空间(mm_struct) 虚拟内存区域(VMA) 地址空间和页表 1. 地址空间(mm_struct) 地址空间就是每个进程所能访问的内存地址范围。 这个地址范围不是真实的,是虚拟地址 ...
分类:
系统相关 时间:
2017-08-25 13:51:26
阅读次数:
251
主要内容: 块设备简介 内核访问块设备的方法 内核I/O调度程序 1. 块设备简介 I/O设备主要有2类: 字符设备:只能顺序读写设备中的内容,比如 串口设备,键盘 块设备:能够随机读写设备中的内容,比如 硬盘,U盘 字符设备由于只能顺序访问,所以应用场景也不多,这篇文章主要讨论块设备。 块设备是随 ...
分类:
系统相关 时间:
2017-08-25 13:46:42
阅读次数:
310
系统中有很多与时间相关的程序(比如定期执行的任务,某一时间执行的任务,推迟一段时间执行的任务),因此,时间的管理对于linux来说非常重要。 主要内容: 系统时间 定时器 定时器相关概念 定时器执行流程 实现程序延迟的方法 定时器和延迟的例子 1. 系统时间 系统中管理的时间有2种:实际时间和定时器 ...
分类:
系统相关 时间:
2017-08-24 20:16:07
阅读次数:
229
主要内容: 1. 什么是系统调用 简单来说,系统调用就是用户程序和硬件设备之间的桥梁。 用户程序在需要的时候,通过系统调用来使用硬件设备。 系统调用的存在,有以下重要的意义: 1)用户程序通过系统调用来使用硬件,而不用关心具体的硬件设备,这样大大简化了用户程序的开发。 比如:用户程序通过write( ...
分类:
系统相关 时间:
2017-08-24 20:14:27
阅读次数:
225
在前一章也提到过,之所以中断会分成上下两部分,是由于中断对时限的要求非常高,需要尽快的响应硬件。 主要内容: 中断下半部处理 实现中断下半部的机制 总结中断下半部的实现 中断实现示例 1. 中断下半部处理 那么对于一个中断,如何划分上下两部分呢?哪些处理放在上半部,哪些处理放在下半部? 这里有一些经 ...
分类:
系统相关 时间:
2017-08-24 20:08:41
阅读次数:
252
存在共享资源(共享一个文件,一块内存等等)的时候,为了防止并发访问时共享资源的数据不一致,引入了同步机制。 主要内容: 1. 同步的概念 了解同步之前,先了解另外2个概念: 临界区 - 也称为临界段,就是访问和操作共享数据的代码段。 竞争条件 - 2个或2个以上线程在临界区里同时执行的时候,就构成了 ...
分类:
系统相关 时间:
2017-08-24 20:07:00
阅读次数:
190