Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/225.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
Android 智能手机的Sqlite插入性能_Android_Performance_Sqlite - Fatal编程技术网

Android 智能手机的Sqlite插入性能

Android 智能手机的Sqlite插入性能,android,performance,sqlite,Android,Performance,Sqlite,我正在尝试优化android中sqlite的插入速度。我试过很多方法。如设置pragma设置、日志模式等 除此之外,我还尝试了单独插入、准备语句和批量插入。请记住,所有这些都已包装在一个事务中 在我的smartphoneSamsung Galaxy SIII中,对于一个20列的表,插入速度仅高达每秒250行。根据Sqlite常见问题解答,Sqlite每秒可以轻松插入50000个插入。因此,我真的很乐观插入至少有数千而不是数百。然而,上述任何一项都不起作用。或者已经优化了250行插入 请帮帮我。谢

我正在尝试优化android中sqlite的插入速度。我试过很多方法。如设置pragma设置、日志模式等

除此之外,我还尝试了单独插入、准备语句和批量插入。请记住,所有这些都已包装在一个事务中

在我的smartphoneSamsung Galaxy SIII中,对于一个20列的表,插入速度仅高达每秒250行。根据Sqlite常见问题解答,Sqlite每秒可以轻松插入50000个插入。因此,我真的很乐观插入至少有数千而不是数百。然而,上述任何一项都不起作用。或者已经优化了250行插入

请帮帮我。谢谢

问候,,
Dexter

您可以使用对象/关系映射ORM工具来获得更好的性能。 奥姆利特、绿岛等

绿刀比较好,看一看

特色:-

最高性能可能是Android最快的ORM 易于使用的API 针对Android进行了高度优化 最小内存消耗 图书馆规模小,注重基本要素 ORM工具的好处:-

ORM可以为您提供关系持久性,从而获得最快的性能。 较少的开发工作
我在大公司规模的数据库上使用的一种提高批量插入速度的方法是在执行批量插入时关闭索引。缺点是您需要以独占方式访问数据库,并且在完成后必须重新打开索引

在移动应用程序中,您可以通过在应用程序屏幕上设置更新按钮,轻松获得对数据库的独占访问权

SQLITE您可以在执行大容量插入之前删除任何非唯一索引。如果20列表有20个非唯一索引,则每列一个索引。删除20个索引。执行批量插入。创建之前删除的20个索引

还要确保代码紧凑,并且在插入循环中不执行任何可以在循环之前执行的操作。例如,在插入循环之前查找列索引


如果这不适用于您的应用程序,只需将其编入目录,作为您将来可能需要在后端数据库中执行的操作。

可能重复的sqlite每秒可以轻松插入50000个插入。。。在哪个硬件上?也许是2000兆赫的八核。嘿,丹尼,谢谢你的回复。我试试看。如果我删除索引,我应该有什么期望?我要求在智能手机上每秒插入几千行,这是不是太高了?Idk我猜是5-10%。但请记住,必须保留主键索引和唯一键索引,因为它们维护数据库的完整性。我看到大型后端dbs在受限批量插入上的速度提高了800%。