1
我正在制作一个Android应用程序,它从XML文件获取其信息。 由于查询的强大功能,我正在填充数据库中的信息,以便在程序运行时更轻松地访问。在交易中使用多种方法
然而,它引起了我的注意,使用事务大大提高了速度,所以很自然地,我想要使用它。
我的问题是以下tho; 在抽象思想中,在解析主体一个的所有信息之后,信息被发送到正确的实体(类),并且在该实体内部有一种将其添加到数据库中的方法。之后,它返回到继续阅读下一个主题的解析器,该主题又将发送到右侧(可能不同)的类。
这是用switch语句实现的,每个case指向一个不同的类构造函数。
如果我想使用事务的速度,我需要在解析之前就开始一个事务,通过解析和查询构建(据我所知,所有在事务中构建的查询,最后全部作为一堆执行),然后在解析完整个文件后结束事务。
为了使这一点更清晰,或更快的阅读;代码的想法是;
Class parser(){
database.beginTransaction();
try{
// start parsing in a whole different class, which also points to SQL queries (in different classes again) in the entitys with a switch
}catch(Exception e){
database.endTransaction();
}
database.endTransaction();
}
我希望我明确提出了我的问题。
亲切的问候,
嗨格雷厄姆Borland公司, 感谢您的快速回复。 我的问题的核心是如果开始一个没有问题,让我们说'一般事务'在某处,并且在事务之间有很多代码。大多数发现的例子只是简单地启动一个事务,然后立即执行一个查询或者通过某个事件的最大循环,然后执行查询。 –
每个示例使用夸张。问题是,每个例子只是创建一个只创建和填充数据库的程序。 我*可以*在主方法中启动一个事务,在该事务保持打开状态时运行整个程序的剩余部分,然后当所有事情都完成时,成功并结束事务,最后执行程序中构建的所有查询一旦。 我明白,这当然是夸大,不想要的。 –
在长时间运行的XML解析操作期间,事务处于打开状态没有任何问题。它提供了很多好处,包括速度,正如你自己注意到的那样。 –