Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unix删除重复的uniq vs Sybase-忽略重复密钥_Unix_Sybase - Fatal编程技术网

Unix删除重复的uniq vs Sybase-忽略重复密钥

Unix删除重复的uniq vs Sybase-忽略重复密钥,unix,sybase,Unix,Sybase,我有一个有2000万条记录的档案。它有30%的重复值。 我们考虑实施两种方法 编写shell脚本以删除重复项,文件将上载到unix框中 使用ignore_dup_键在sybase中创建一个表,并按原样将文件BCP到表中。这样表就可以消除重复项 我已经了解到,当复制百分比增加时,ignore_dup_键将影响性能。 Unix-uniq方法的性能如何?哪一个适用于此 欢迎输入 如果不测试这两种方法,就无法确定哪种方法更快。但使用sybase方法可能会更快,因为数据库经过优化,可以并行化您的工作负载

我有一个有2000万条记录的档案。它有30%的重复值。 我们考虑实施两种方法

  • 编写shell脚本以删除重复项,文件将上载到unix框中
  • 使用ignore_dup_键在sybase中创建一个表,并按原样将文件BCP到表中。这样表就可以消除重复项
  • 我已经了解到,当复制百分比增加时,ignore_dup_键将影响性能。 Unix-uniq方法的性能如何?哪一个适用于此


    欢迎输入

    如果不测试这两种方法,就无法确定哪种方法更快。但使用sybase方法可能会更快,因为数据库经过优化,可以并行化您的工作负载

    如果不测试这两种方法,就无法确定哪种方法更快。但使用sybase方法可能会更快,因为数据库经过优化,可以并行化您的工作负载

    如果不测试这两种方法,就无法确定哪种方法更快。但使用sybase方法可能会更快,因为数据库经过优化,可以并行化您的工作负载

    如果不测试这两种方法,就无法确定哪种方法更快。但使用sybase方法可能会更快,因为数据库经过优化,可以并行化您的工作负载

    对具有ignore dup key unique索引的表执行BCP应该是最快的,而不是排在最后,因为它更容易实现

    原因如下:最终,在任何一种情况下,都会将一组行插入数据库表,并为这些插入的行建立索引。这两种情况下的工作量相等。 现在,BCP方法使用现有索引来识别和丢弃重复的键。这在ASE中处理得相当有效,因为该行在插入之前会被丢弃。如果您只想丢弃副本(无论是谁说的,都被错误地告知),那么副本的数量不会影响此效率。 如果要在ASE之外执行此重复筛选,则需要找到一种排序方法,该方法根据记录的一部分的唯一性(只有它们是键)丢弃记录。这并不像听起来那么简单,而且还需要系统资源来执行排序。这些资源最好用于在ASE中进行排序(=索引创建)——对于最终插入的行,您已经必须这样做了

    不管怎样,BCP方法比外部排序方便得多,因为它需要更少的工作(更少的步骤)。这可能是一个更重要的考虑因素


    为了进一步阅读,我的书《Sybase ASE的技巧、窍门和配方》中有几个章节专门介绍了ignore_dup_key。

    使用ignore dup key unique index对表执行BCP应该是最快的,而不是排在最后,因为它更容易实现

    原因如下:最终,在任何一种情况下,都会将一组行插入数据库表,并为这些插入的行建立索引。这两种情况下的工作量相等。 现在,BCP方法使用现有索引来识别和丢弃重复的键。这在ASE中处理得相当有效,因为该行在插入之前会被丢弃。如果您只想丢弃副本(无论是谁说的,都被错误地告知),那么副本的数量不会影响此效率。 如果要在ASE之外执行此重复筛选,则需要找到一种排序方法,该方法根据记录的一部分的唯一性(只有它们是键)丢弃记录。这并不像听起来那么简单,而且还需要系统资源来执行排序。这些资源最好用于在ASE中进行排序(=索引创建)——对于最终插入的行,您已经必须这样做了

    不管怎样,BCP方法比外部排序方便得多,因为它需要更少的工作(更少的步骤)。这可能是一个更重要的考虑因素


    为了进一步阅读,我的书《Sybase ASE的技巧、窍门和配方》中有几个章节专门介绍了ignore_dup_key。

    使用ignore dup key unique index对表执行BCP应该是最快的,而不是排在最后,因为它更容易实现

    原因如下:最终,在任何一种情况下,都会将一组行插入数据库表,并为这些插入的行建立索引。这两种情况下的工作量相等。 现在,BCP方法使用现有索引来识别和丢弃重复的键。这在ASE中处理得相当有效,因为该行在插入之前会被丢弃。如果您只想丢弃副本(无论是谁说的,都被错误地告知),那么副本的数量不会影响此效率。 如果要在ASE之外执行此重复筛选,则需要找到一种排序方法,该方法根据记录的一部分的唯一性(只有它们是键)丢弃记录。这并不像听起来那么简单,而且还需要系统资源来执行排序。这些资源最好用于在ASE中进行排序(=索引创建)——对于最终插入的行,您已经必须这样做了

    不管怎样,BCP方法比外部排序方便得多,因为它需要更少的工作(更少的步骤)。这可能是一个更重要的考虑因素


    为了进一步阅读,我的书《Sybase ASE的技巧、窍门和配方》中有几个章节专门介绍了ignore_dup_key。

    使用ignore dup key unique index对表执行BCP应该是最快的,而不是排在最后,因为它更容易实现

    原因如下:最终,在任何一种情况下,都会将一组行插入数据库表,并为这些插入的行建立索引。那笔钱是多少