提高SQL大数据的速度

提高SQL大数据的速度,sql,performance,bigdata,Sql,Performance,Bigdata,我有一个5000万条记录的表格,有17列。我想将数据发布到一些表中。我已经为此制作了一些表格。 我为这项工作编写了一个sql脚本。但是这个脚本的速度非常低。 主要问题是,在我想在表中插入一条记录之前,我必须检查该表是否不存在该记录。 当然,我已经在代码中做了一些优化。例如,我用while语句替换游标。但速度仍然很低。 如何提高速度和优化 我必须检查该表是否不存在该记录 让数据库通过唯一的约束或索引完成工作。确定不能完全相同的列,并运行以下操作: create unique index unq_t

我有一个5000万条记录的表格,有17列。我想将数据发布到一些表中。我已经为此制作了一些表格。 我为这项工作编写了一个sql脚本。但是这个脚本的速度非常低。 主要问题是,在我想在表中插入一条记录之前,我必须检查该表是否不存在该记录。 当然,我已经在代码中做了一些优化。例如,我用while语句替换游标。但速度仍然很低。 如何提高速度和优化

我必须检查该表是否不存在该记录

让数据库通过唯一的约束或索引完成工作。确定不能完全相同的列,并运行以下操作:

create unique index unq_t_col1_col2_col3 on t(col1, col2, col3);
如果您试图插入副本,数据库将返回错误


这是标准功能,应可在任何数据库中使用。但是,你应该用你正在使用的数据库标记你的问题,并提供更多关于你所说的重复是什么意思的信息。

更新你的问题添加你的表格模式。。您的查询和解释也添加了实际的RDBMS。SQL Server?神谕MySQL?好的!但这里还有另一个问题:如果SQL因为重复而无法插入新记录,那么我需要代码脚本其余部分的表rowId(主键字段),然后使用唯一键进行搜索。当存在唯一键时,表搜索是即时的。@irshmd2。这回答了您提出的问题。如果你还有其他问题,请作为新问题提问。司机的建议很好。但是,根据数据库的不同,可能还有其他解决方案。