优化where子句中具有可变列数的select查询

时间:2012-06-09 22:28:18

标签: mysql query-optimization innodb

就像这样:

            StringBuilder sb = new StringBuilder(5000);
            sb.append("SELECT user_id FROM ").append(DEF_USERS_TBL).append(" WHERE user_id='").append(phoneBook.get(0)).append('\'');

    for (int i = 1; i < phoneBook.size(); i++)
    {
        sb.append(" OR user_id='").append(phoneBook.get(i)).append('\'');
    }

    sb.append(';');

    try 
    {           
        Statement s = ...;
        rs = s.executeQuery(sb.toString());
                    ...
            } catch ( ... ) {

                    ...
            }

我听说对于MySQL ver&gt; 5.0,innoDB,如果这是一个存储过程,那将是有意义的,性能明智。如果我将其转换为phonebook.size()单个SELECT查询(因此,我可以存储程序),它会更快吗?

0 个答案:

没有答案