Archive | 五月, 2012

Mysql 索引原理(MyISAM&InnoDB)

一、要点

在MySQL中,索引属于存储引擎级别的概念,不同存储引擎对索引的实现方式是不同的。

二 、MyISAM的索引

MyISAM的索引方式是“非聚集”索引。MyISAM索引文件和数据文件是分离的,索引文件仅保存数据记录的地址。MyISAM引擎使用B+Tree作为索引结构,叶节点的data域存放的是数据记录的地址

1. MyISam主索引

[caption id="attachment_1269" align="alignnone" width="300"]myisam-primary-index MyISAM表的主索引(Primary key)[/caption]

 

如图一共有三列,假设我们以Col1为主键,以col1构造B+树。B+树的叶子节点上保存的是该记录的地址,可以理解为该行数据的物理存储位置。

2. MyISam辅助索引

在MyISAM中,主索引和辅助索引(Secondary[......]

阅读全文

Tags: , ,

Comments { 0 }

密码保护:Data Mining 项目实践一种聚类算法计算代理T设备数

无法提供摘要。这是一篇受保护的文章。

Tags: , ,

Comments { 0 }

java并发之volatile总结

一 、一句话总结:?

volatile 使得被其修饰的字段,在内存模型中被所有线程看到的值都是一致的。即一个volatile的变量被一个线程修改后马上就会对其他线程可见。

二、语义解释

volatile包含以下语义:

(1)Java 存储模型不会对valatile指令的操作进行重排序:这个保证对volatile变量的操作时按照指令的出现顺序执行的。

(2)volatile变量不会被缓存在寄存器中(只有拥有线程可见)或者其他对CPU不可见的地方,每次总是从主存中读取volatile变量的结果。也就是说对于volatile变量的修改,其它线程总是可见的,并且不是使用自己线程栈内部的变量。也就是在happens-before法则中,对一个valatile变量的写操作后,其后的任何读操作理解可见此写操作的结果。

三、使用条件

您只能在有限的一些情形下使用 volatile 变[......]

阅读全文

Tags: , ,

Comments { 0 }