SQLite:创建许多表,而不是为大数据集过滤一个数据库

时间:2013-08-16 15:58:55

标签: android sql sqlite

我想要创建一个活动,您可以在其中创建文件夹,并在这些文件夹中包含与其关联的某些图片。我现在这样做的方法是拥有一个数据库,其中包含链接到列表视图的所有文件夹名称和信息。然后我有一个SQLite数据库,其中包含根据单击的列表项筛选的所有图片信息。

我的困境是每次创建一个新文件夹时在数据库中创建一个新表,或者只有一个包含所有图片的大数据库,只过滤我需要的图片。

所以我的问题归结为从长远来看哪种方法(有许多图片和文件夹)需要最少的处理时间。即使对于大型数据库,SQL查询是否真的占用了那么多时间?我担心如果图片的大数据库变得太大,用户将不得不等待查询以查看与该文件夹相关联的图片。如果我为每个创建的文件夹创建一个表,那么数据将是可访问且快速的。但是,维护和创建表格似乎更加困难。

1 个答案:

答案 0 :(得分:3)

使用一个大表而不是创建新表。

您永远不想为每个新数据块(在本例中为文件夹)不断创建新表。这会导致严重的性能问题,并导致数据库设计不灵活。

数据库比您预期的要快。您的数据库可能不会很大(因为它存储在手机上),因此您在短时间内执行简单查询时不会有任何困难。