怎么提升txt文件的查找速度
如何提升txt文件的查找速度?
有一个txt文件,每条记录的长度都是固定的,格式也是固定的。会不停的写入,删除,查找。
现在需要对这个文件的第N列进行查找,防止出现重复的现象。
在单线程的情况下,如果提高写入,删除,查找的速度?
------解决方案--------------------
用数据库吧
------解决方案--------------------
文件映射
------解决方案--------------------
这个问题没有简单有效的方法。
如果用vector,可以二分查找,但插入肯定慢。
用list,插入快,但不能二分查找。
如果你愿意写代码的话,数据用list组织,然后,给数据表用vector建立一个索引表,用于查找。
------解决方案--------------------
CreateFileMapping
------解决方案--------------------
以TXT文件第N列为标准建立一个索引文件,用于辅助查找。
------解决方案--------------------
根据某些行关系,建立个索引文件,
http://www.it165.net/pro/
------解决方案--------------------
map list并用,内存换时间
------解决方案--------------------
第一:做成MapFile,这样就是内存操作
第二:最好将行的概念做成定长(比如1024),方便定位,减少更新成本
第三:如果需要快速,就要引入索引的概念,将行数据摘要为索引,保存在一个单独的文件,供查询定位
要快,不管愿不愿意,都需要引入数据库的方法:内存操作、结构化数据、索引...
------解决方案--------------------
------解决方案--------------------
空间换时间,建立索引文件,
将相似的记录写在一个文件中,通过索引文件进行快速定位文件
------解决方案--------------------
1. 可以考虑小型文件型数据库,比如开源的sqlite
2. 如果代码空间不够的话,和楼上各位说的一样,建立数据项的索引,文件指针偏移与数据项的对应关系,就可以快速访问此文件中的数据了.
文件中的数据可以不按顺序存储,只同内存中索引有序.这样文件中的项的删除和插入都不用关心文件中具体的数据位置了.
有一个txt文件,每条记录的长度都是固定的,格式也是固定的。会不停的写入,删除,查找。
现在需要对这个文件的第N列进行查找,防止出现重复的现象。
在单线程的情况下,如果提高写入,删除,查找的速度?
------解决方案--------------------
用数据库吧
------解决方案--------------------
文件映射
------解决方案--------------------
这个问题没有简单有效的方法。
如果用vector,可以二分查找,但插入肯定慢。
用list,插入快,但不能二分查找。
如果你愿意写代码的话,数据用list组织,然后,给数据表用vector建立一个索引表,用于查找。
------解决方案--------------------
CreateFileMapping
------解决方案--------------------
以TXT文件第N列为标准建立一个索引文件,用于辅助查找。
------解决方案--------------------
根据某些行关系,建立个索引文件,
http://www.it165.net/pro/
------解决方案--------------------
map list并用,内存换时间
------解决方案--------------------
第一:做成MapFile,这样就是内存操作
第二:最好将行的概念做成定长(比如1024),方便定位,减少更新成本
第三:如果需要快速,就要引入索引的概念,将行数据摘要为索引,保存在一个单独的文件,供查询定位
要快,不管愿不愿意,都需要引入数据库的方法:内存操作、结构化数据、索引...
------解决方案--------------------
------解决方案--------------------
空间换时间,建立索引文件,
将相似的记录写在一个文件中,通过索引文件进行快速定位文件
------解决方案--------------------
1. 可以考虑小型文件型数据库,比如开源的sqlite
2. 如果代码空间不够的话,和楼上各位说的一样,建立数据项的索引,文件指针偏移与数据项的对应关系,就可以快速访问此文件中的数据了.
文件中的数据可以不按顺序存储,只同内存中索引有序.这样文件中的项的删除和插入都不用关心文件中具体的数据位置了.