作者热门文章
- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我正在开发一个 android 数据库应用程序。我只想知道哪些代码执行得更快,它们之间有什么区别?
查询 - 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 预编译查询和使用太多不同的原始查询可能会导致性能问题。
仅在绝对需要时使用 rawQuery。
此外,您的两个示例都存在 SQL 注入(inject)的主要安全问题。
您应该清理 userId。
最明显的做法是让 Android 使用:
db.query(USER_TABLE_NAME, ALL_COLUMNS, "user_id = ?", new String[] {userId}, null, null, null);
关于安卓 SQLite : Which query ("query" or "rawQuery") is faster?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8830753/
我是一名优秀的程序员,十分优秀!