Q: Android SQLite: Which query ("query" or "rawQuery") is faster? I am developing one android database application . I just want to know which code execute faster and what is the difference between them?
Query - 1 =
db.rawQuery("select * from user_table where user_id =" + userId, null);

Query - 2 = 
db.query(USER_TABLE_NAME, ALL_COLUMNS, "user_id = " + userId, null, null, null, null);


A: Looking at SQLiteDatabase.java in the android source shows that the query(..) ends up calling the QueryBuilder to build the query as a single string and then it essentially calls rawQuery(). They should be roughly equivalent, assuming that you also did the same work to build your own statement.  

A: Use query.
Android precompile queries and using too many different raw queries may cause performance issue.
Use rawQuery only when absolutely needed.
Also, both your example have a MAJOR security issue of SQL Injection.
You should sanitize the userId.
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);

