Android SQLite:哪个查询(“query”或“rawQuery”)更快? [英] Android SQLite: Which query ("query" or "rawQuery") is faster?

查看:314
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆