摘要:
索引的优势当然是提高检索速度,但并不是说数据库建立了索引就真的会提高检索速度.为什么呢?我们知道,索引本身是有序的,索引查找的时候一般是多分查找,(当然在内存用数组实现的索引则可以做到随机查找,但数据库一般很少会采用这种方式组织,一般都是利用B+树),所以索引的查找一般不会是常数级,由于索引本身数据量问题,也不是一次就能将所有索引数据加载在内存里,所以也可能会引起多次磁盘读,加上定位到目标索引后还需要常数级的具体数据块磁盘读写,因此一次索引定位需要的磁盘读写可以控制在常数级别.因此索引查找的速度会在对数级别.但这并不等同于数据库查询时具体的查询速度,下面来分析一下:1)只有建立索引的字段作为条 阅读全文
随笔档案-2012年4月1日
自己最近写的一组日志处理类(线程调度优化)
2012-04-01 08:18 by java线程例子, 1456 阅读, 收藏,
摘要:
前面分享的一篇文章<<自己最近写的一组日志处理类(支持高并发处理)>>里写了一个多线程的写日志的类,当时测试的时候没有太注意,后面发现这个日志类占用cpu太厉害,经过调试发现问题出在对于线程的挂起(Suspend)和唤醒(Resume)上面(这两个方法已经在新的框架里里面被废掉了).我调用这两个方法的目的就是在没有日志写的时候,线程不要再运行,等待有需要写日志的时候再继续工作.后面改了一种方式来实现这个目的,CPU占用问题就解决了,当然下面的这种方式也是对线程挂起和唤醒的一种新的替代方式,下面是修改后的代码,注释很详细,原来的代码大家请参考前面的博文: /// < 阅读全文
浙公网安备 33010602011771号