当前位置:编程学习 > JAVA >>

表中已存在接近1亿条数据了,现在想给某个字段加个索引

用什么方式去加会比较快?
--------------------编程问答-------------------- 你用的频率比较多的字段加上索引 --------------------编程问答-------------------- 建个新表,建好索引,导入数据,rename表名
--------------------编程问答-------------------- oracle 的话,可以用parallel关键字
create index index_name on table_name(column_name) tablespace tablespace_name 
parallel 12 --------------------编程问答-------------------- 表如果有主键的话,主键列上自带唯一索引的,如果还有其它常用的作为查询条件的列,也可以建索引。 --------------------编程问答-------------------- 直接创建索引就是了。
创建非唯一索引要比唯一索引快。
创建索引,内部会对索引字段处理,没有捷径的。 --------------------编程问答--------------------
引用 4 楼 magi1201 的回复:
表如果有主键的话,主键列上自带唯一索引的,如果还有其它常用的作为查询条件的列,也可以建索引。
这要看具体的数据库的implementation。比如JavaDB我记得不清楚就是foreign key, unique等也是自动被数据库系统加了索引的 --------------------编程问答-------------------- 你sql检索语句用到的where条件上列加下就好了 --------------------编程问答-------------------- 如果上亿行的表,建索引要小心,以下是建议:
1 如果是业务数据索引要: 索引a) date ,id, 分类...最好不超过4个字段, 索引b) id, date, 分类...
  第一个索引主要用在,查同一点数据,大量的对象, 第二个索引,用在查一个对象一段时间的数据.
  查询条件必须是按索引全部用上, 不用的也要用 id>0 and type>0,顺序必须与索引相同!
2 上亿行的表,最好按时间分区, 一般来说分区后, 我们的系统50亿行数据都没事 --------------------编程问答-------------------- 别外建议用年表,一年一张表,查询统计,导入,导出都好些.
如data2012,data2013,因为查询数据表都带时间,所有表名处理一下就ok.
补充:Java ,  Java SE
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,