Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ANDROID:查找SqliteDatabase中各个表的大小大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我想沿着以下几点做一些事情:

SELECT bytes from user_segments where SEGMENT_NAME = 'TABLE_NAME';

我知道我可以通过以下方式获得整个数据库的大小

@H_289_7@mDb = sqliteDatabase; long size = new File(mDb.getPath()).length();

是否有可能在Android的sqliteDatabase中获取单个表占用多少空间?

编辑 –

由于缺乏响应,我想这对sqlite来说是不可能的.我目前正在使用一种hack-ish方式,我计算表中的行数并估计单行占用多少空间(基于给定的表模式).

解决方法

如果您主要将二进制或字符串数​​据存储在单个列中,则可以使用聚合查询

SELECT SUM(LENGTH(the_column)) FROM the_table

即使每行的大小变化很大(例如,如果您将图片存储在数据库中),这也可以为您提供合理的估计.但是,如果您有许多列,每个列中包含少量数据,那么您的方法(估计每行的固定大小)会更好.

在Android上,您可以像下面这样实现它:

sqliteDatabase database = ... // your database
// you can cache the statement below if you're using it multiple times
sqliteStatement byteStatement = database.compileStatement("SELECT SUM(LENGTH(the_column)) FROM the_table");
long bytes = byteStatement.simpleQueryForLong();

大佬总结

以上是大佬教程为你收集整理的ANDROID:查找SqliteDatabase中各个表的大小全部内容,希望文章能够帮你解决ANDROID:查找SqliteDatabase中各个表的大小所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。