java - Best way to find out if user is already registered -


how find out, user registered, e.g. in web application? have database of 1 million users. every time comparing every single row in database inefficient. there other optimal approach?

every time comparing every single row in database inefficient

i gather you're hauling entire db table contents java's memory select * user , looping on every row in while loop , comparing username equals() below, true?

public boolean exists(string username) throws sqlexception {     // ... declare, etc.      statement = connection.preparestatement("select * user");     resultset = statement.executequery();     while (resultset.next()) {         if (username.equals(resultset.getstring("username"))) {             return true;         }     }     return false;      // ... close, etc (in finally!) } 

then that's indeed inefficient. should indexing username column (it is, unique constraint) , make use of sql where clause. it'll return 0 or 1 rows , db best finding it, much, faster above java approach.

public boolean exists(string username) throws sqlexception {     // ... declare, etc.      statement = connection.preparestatement("select id user username = ?");     statement.setstring(1, username);     resultset = statement.executequery();     return resultset.next();      // ... close, etc (in finally!) } 

in nutshell, long make proper use of db indexes , write sql queries such returns exactly information need, without necessity filtering using java or additional queries afterwards, it'll efficient approach.


Comments

Popular posts from this blog

java - activate/deactivate sonar maven plugin by profile? -

python - TypeError: can only concatenate tuple (not "float") to tuple -

java - What is the difference between String. and String.this. ? -