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

问题描述

用什么方式去加会比较快?

解决方案

解决方案二:

你用的频率比较多的字段加上索引
解决方案三:

建个新表,建好索引,导入数据,rename表名
解决方案四:

oracle的话,可以用parallel关键字createindexindex_nameontable_name(column_name)tablespacetablespace_nameparallel12
解决方案五:

表如果有主键的话,主键列上自带唯一索引的,如果还有其它常用的作为查询条件的列,也可以建索引。
解决方案六:

直接创建索引就是了。创建非唯一索引要比唯一索引快。创建索引,内部会对索引字段处理,没有捷径的。
解决方案七:

引用4楼magi1201的回复:

表如果有主键的话,主键列上自带唯一索引的,如果还有其它常用的作为查询条件的列,也可以建索引。

这要看具体的数据库的implementation。比如JavaDB我记得不清楚就是foreignkey,unique等也是自动被数据库系统加了索引的
解决方案八:

你sql检索语句用到的where条件上列加下就好了
解决方案九:

如果上亿行的表,建索引要小心,以下是建议:1如果是业务数据索引要:索引a)date,id,分类...最好不超过4个字段,索引b)id,date,分类...第一个索引主要用在,查同一点数据,大量的对象,第二个索引,用在查一个对象一段时间的数据.查询条件必须是按索引全部用上,不用的也要用id>0andtype>0,顺序必须与索引相同!2上亿行的表,最好按时间分区,一般来说分区后,我们的系统50亿行数据都没事
解决方案十:

别外建议用年表,一年一张表,查询统计,导入,导出都好些.如data2012,data2013,因为查询数据表都带时间,所有表名处理一下就ok.

时间: 2024-10-24 15:00:42

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

1亿条数据如何分表100张到Mysql数据库中(PHP)_php技巧

下面通过创建100张表来演示下1亿条数据的分表过程,具体请看下文代码. 当数据量猛增的时候,大家都会选择库表散列等等方式去优化数据读写速度.笔者做了一个简单的尝试,1亿条数据,分100张表.具体实现过程如下: 首先创建100张表: $i=0; while($i<=99){ echo "$newNumber \r\n"; $sql="CREATE TABLE `code_".$i."` ( `full_code` char(10) NOT NULL,

表中已存重复数据的情况,如何增加唯一性约束?

这周某系统上线,有一个需求就是,为一张表修改唯一性约束,原因就是之前发现,由于唯一性约束设置不当,导致业务处理出现异常. 举例来说,如下测试表,原先唯一性约束是a和b俩字段,但发现实际业务中,a和b的组合是可能重复的,加上c字段才会是唯一, SQL> create table test(                                                       2  id number,  3  a  varchar2(10),  4  b  varchar2(

sql-消费表中查找所有用户最后一条消费记录

问题描述 消费表中查找所有用户最后一条消费记录 BussnissLogs表中字段BussnissLogsID(消费流水ID),UserID(用户ID),HappeningTime(消费时间) ps:判断最后一条记录的是时间,不是消费流水号 解决方案 查找最后一个条,取BussnissLogsID最大的那个倒序排序 select top 1 * from (select * from xxx order by BussnissLogsID desc) 解决方案二: 要的是按时间最末,那么应该是:s

数据泄漏报告:2016年共泄露14亿条数据

本文讲的是数据泄漏报告:2016年共泄露14亿条数据, 根据数字安全研究公司金雅拓(Gemalto)最新发布的2016年数据泄露水平指数(Breach Level Index)报告显示,2016年发生了约1800次数据泄露事件,造成约14亿条记录泄漏.这一结果几乎是前一年的两倍,这表明不管是网络攻击者还是意外的数据泄漏和内部恶意人员的威胁正在不断增加. 2016年的数据泄漏事件中涉及的个人信息包括姓名.电子邮件地址.密码.出生日期.IP地址甚至物理识别数据等. 2016年数据泄漏总量为去年的两倍

sql server-上亿条数据如何建立合理的索引?

问题描述 上亿条数据如何建立合理的索引? 其中row是从0到44000,col也是从0到44000: 共row*col条数据,就是个矩形的. row,col,X,Y,BX,BY是常查询的. 一般是row和col一起查: X和Y一起查: BX和BY一起查 请问如何建立索引查询时间会加到最低. 对了,由于数据量太大,一个表是2亿条记录以上,如何将索引加在这几个表上呢? Sql server 2008 解决方案 有个计算公式,根据你的数据分布,WHERE条件, SELECT COUNT(DISTINC

一个系统每小时插入4亿条数据,需要考虑什么问题?

问题描述 一同事去某公司面java开发,面试的时候说到系统设计,面试官问了个问题:一个系统每小时插入4亿条数据,需要考虑什么问题?他当时没有回答出来,回来听到这个问题,我也没有答案.一般rdbms每秒钟顶多上千事务吧,像这种秒10w多的并发插入,怎么处理呢? 问题补充:wyuxiao729 写道 解决方案 这种大的数据库量处理瓶颈在于一个是传输.一个是存储.存储可以通过队列,缓存方案着手.传输这块目前没有好的办法.只能是从硬件来看.你目前的问题太泛了.不好具体到代码实现.应针对具体的环境来分析解

oracle数据库中怎么一次性插入10万条数据

问题描述 oracle数据库中怎么一次性插入10万条数据 oracle数据库中怎么一次性插入10万条数据?急用!!!1 解决方案 最快的方法是用imp进行导入 或者用sql执行也可以(insert into )

rdlc-RDLC报表中表达式编写问题-取第二条数据怎么写?

问题描述 RDLC报表中表达式编写问题-取第二条数据怎么写? 在vs的RDLC报表设计中,下面的表达式可以取出并显示出数据集中字段为"波形"的第一条数据 =First(Fields!波形.Value, "DataSet1"), 最后一条可写为: =Last(Fields!波形.Value, "DataSet1"), 如果要取出并显示第二条数据该怎么编写表达式? 如果要取出并显示第n条数据该怎么编写表达式?

世界杯首周,Facebook相关内容已达4.59亿条

美国与葡萄牙大战最火爆.世界杯首周Facebook相关更新评论达4.59亿条腾讯科技讯 6月24日消息,虽然美国队长克林特-邓普西(Clint Dempsey)在周日与葡萄牙的大战中表现出众,但葡萄牙当家球星克里斯蒂亚诺-罗纳尔多(Cristiano Ronaldo,以下简称"C罗")在最后时刻的精彩表现却成功帮助球队逼平美国,并避免了球队提前淘汰出局的命运.而且,后者在社交网络上的人气也依旧远超邓普西.数据显示,在美国与葡萄牙大战期间,被誉为是当今足坛最出色球星之一的C罗在Twitt