JohonMedison 2017-01-05
根据数据库的功能,可以在数据库设计器中创建四种索引:普通索引、唯一索引、主键索引和聚集索引。
这几种索引默认是btree索引。
普通索引:
为任何列建立索引没有唯一等约束,正因为如此所以对之后的寻址有可能的相同索引情况有相对应的处理。
唯一索引:要求所建立索引的列不为空,且唯一,在寻址的时候处理相同索引对应的数据情况少。
主键索引:建立在主键的索引,不为空,会自动加上聚类(聚集)索引,当然处理相同索引的情况少
聚集索引:索引数据在同一张表(之前的表数据库会删了),建立聚集索引之后数据会重新排序,查询快,更新慢
(相当于字典的拼音直接检索内容就是安这个顺序排的)
非聚集索引:索引数据和数据页在不同的表中,查找的时候需要先找到索引,再通过索引查内容,查询慢,更新快
类似偏旁检索,偏旁的排序,和数据的排序不一致
虽然有不同的数据库但是索引的类型都一样,可以叠加混用
http://baike.baidu.com/link?url=n6bf3PnIRPnM6meIFiwLxGre7AtX1FbbEIPHAfMZfnCrHQo9JcagQwvF-XKCtSKiPijMBpNcEkfUHAtZfNzx977lsT4aIaNwt91FBhQEtce
oracle索引类型大纲:
mysql hash,btree
btree:
其他mysql索引类型(索引使用时机,失效时机)null
SQL Server 聚集,非聚集(空值是否可以建立)null 当然其他数据库也可建立这种索引
查询适用聚类索引,更新适用非聚类索引
另外一部分,则需要先做聚类、分类处理,将聚合出的分类结果存入ES集群的聚类索引中。数据处理层的聚合结果存入ES中的指定索引,同时将每个聚合主题相关的数据存入每个document下面的某个field下。