我尝试从包含大约300万条记录的Excel文件中查找唯一记录。 (排序和过滤>高级>仅限唯一)。花了4个多小时才开始运行。我尝试与它进行交互并且崩溃了。 所以我在Linux中对-u进行了排序,它甚至不需要整整一分钟。 为什么这比Excel的排序快得多? PS,带有MSExcel的机器有12GB的RAM,Windows 10.我觉得可怜的Linux东西只有1或2 GB。
答案 0 :(得分:-1)
据我所知,Linux排序版是一种经典的UNIX排序,它是GNU coreutils-6.9.90的一部分。
这是标准外部R-Way合并的典型示例,用于对大小为N字节且主存储器大小为M的数据进行排序,因此它创建N / M运行并将R合并为时间,通过数据的次数是log(N / M)/ log(R)通过。
关于Excel 我不确定,但我猜他们 使用其他人使用的相同,转换 字符到他们的字符集编号和排序 它们按字符集编号按数字顺序排列 敏感,或在大写字母中添加32之类的常量 数字使它们等于小写数字,如果不是 区分大小写。
如果要创建特殊排序顺序,
choose Tools>> Options >> Custom Lists
并创建自己的排序顺序。然后,当您准备好对数据进行排序时,请选择 排序对话框中的选项按钮,并选择自定义列表作为备用排序键顺序。
根据我在linux排序阶段的理解,它会将整个数据分成足够小的部分以适应主存储器然后它将读取,排序和写出临时文件&然后最终将所有排序的子文件合并为单个较大的文件。这可能是使linux排序比excel sort更快的原因