1、sqlite定位是嵌入式数据库,只能本地嵌入其它进程来工作,无法被远程的客户端访问,需要上层应用来处理这些事情;
2、sqlite设计上就不是为大数据量考虑的,因此别指望它存海量数据;
3、sqlite适合单线程访问,对多线程高并发的场景不适用;
4、各种数据库高级特性它都不支持,比如管理工具、分析工具、维护等等;
所以还是要根据场景选择合适的数据库,嵌入式用SQLite是相当不错的,但绝大多数场景还是要用MySQL/SqlServer/MongoDB这类的数据库。
把sqlite的源代码拿出来看看吧,里面有具体的实现的例子的。
如果是单独应用的话和其他数据库应用差不多,如果是直接在自己的程序上应用代码的话有相应的方法可以使用的,代码中都有。如果要学习资料的话可以给我留邮箱
在我几个Android应用中,我需要访问已有的数据库。这些数据库往往很大,甚至超过asset文件大约1兆字节的限制。而且在新的版本中数据库需要更新。我在网上,特别是StackOverflow看了一些文章,并做了一些试验,觉得下面的代码能基本上满足我的需求。
其主要思路是:
1 把数据库分解成几个asset文件。
2 当需要打开数据库时,如果数据库不存在,就把那几个asset文件重新合并成一个数据库文件。
3 如果数据库的版本改变了,就在onUpgrade()方法中把数据库文件删除掉。
下面是代码:
//数据库的缺省路径
private static finalString DB_PATH = "/data/data/commypackagemyapp/databases/";
private static finalString DB_NAME = "mydbdb";
private static finalint DB_VERSION = 2;
private static finalString DB_SPLIT_NAME = "mydbdb00";
private static finalint DB_SPLIT_COUNT = 3;
private SQLiteDatabasem_database;
private final Contextm_context;
/
Constructor
保存传进来的context参数以用来访问应用的asset和资源文件。
@param context
/
public MyDB(Contextcontext) {
super(context, DB_NAME, null, DB_VERSION);
thism_context = context;
}
public static MyDBopenDatabaseReadOnly(Context context) {
MyDB db = new MyDB(context);
try {
dbcreateDataBase();
} catch (IOException e) {
// TODO Auto-generated catch block
eprintStackTrace();
}
dbopenDataBase(SQLiteDatabaseOPEN_READONLY);
return db;
}
public static MyDBopenDatabaseReadWrite(Context context) {
MyDB db = new MyDB(context);
try {
dbcreateDataBase();
} catch (IOException e) {
// TODO Auto-generated catch block
eprintStackTrace();
}
dbopenDataBase(SQLiteDatabaseOPEN_READWRITE);
return db;
}
/
创建一个空数据库,用来存储你已有的数据库。
/
public voidcreateDataBase() throws IOException{
boolean dbExist =checkDataBase();
if (dbExist) {
/
如果你的数据库的版本改变了,调用这个方法确保在onUpgrade()被调用时
传进去的是可写的数据库。
/
SQLiteDatabase db =thisgetWritableDatabase();
if (db != null) {
dbclose();
}
}
dbExist = checkDataBase();
if (!dbExist) {
以上就是关于SQLite 的读写效率很高,有哪些使用其他数据库的理由全部的内容,包括:SQLite 的读写效率很高,有哪些使用其他数据库的理由、数据库SQLite的应用,跪求高手赐教、如何使用sqlite 数据库文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)