Android SQLite:哪个查询(“query”或“rawQuery”)更快? [英] Android SQLite: Which query ("query" or "rawQuery") is faster?
本文介绍了Android SQLite:哪个查询(“query”或“rawQuery”)更快?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在开发一个android数据库应用程序。我只想知道哪个代码执行速度更快,它们之间的区别是什么?
I am developing one android database application . I just want to know which code execute faster and what is the difference between them?
查询 - 1 =
db.rawQuery("select * from user_table where user_id =" + userId, null);
查询2 =
db.query(USER_TABLE_NAME, ALL_COLUMNS, "user_id = " + userId, null, null, null, null);
推荐答案
使用查询。
Android预编译查询和使用太多不同的原始查询可能会导致性能问题。
Android precompile queries and using too many different raw queries may cause performance issue.
只有在绝对需要时才使用rawQuery。
Use rawQuery only when absolutely needed.
此外,您的示例都有一个MAJOR安全问题的SQL注入。
Also, both your example have a MAJOR security issue of SQL Injection.
您应该清除userId。
You should sanitize the userId.
最明显的做法是让Android使用:
The most obvious thing to do is let Android do it by using:
db.query(USER_TABLE_NAME, ALL_COLUMNS, "user_id = ?", new String[] {userId}, null, null, null);
这篇关于Android SQLite:哪个查询(“query”或“rawQuery”)更快?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文