C#
我有一个包含serealized datatable的XML文件。每行代表和事件。 事件的数量可以达到数百万,并且加载所有这些数据可能需要很长时间, 并且可能导致程序崩溃(无记忆)。
有没有办法只将XML文件的最后 X 行加载到数据表中,然后保存它们而不覆盖数据表中不存在的现有行(在XML中) ?
答案 0 :(得分:2)
听起来你应该使用数据库。如果你试图通过XML文件操作一堆数据作为主要的存储方法,那么你将遇到大量严重的问题。我建议你改变一种更有效的方法。
答案 1 :(得分:1)
XML不适合这样的任务;它的密度不是很高(但密度高,体积大),加工成本高,不易附着。
正如已经建议的那样,数据库可能是合适的,但 也是也可以帮助的文件格式(直接存储简单;没有数据库抽象)。然而,最大的绊脚石是“最后n”要求。除非您单独存储该偏移量,否则这非常棘手(假设每条记录的大小不固定)。
如果您希望我提出更具体的建议,请告诉我。