Para exemplos simples de perguntas como essas, é fácil dizer qual é o melhor. Para circunstâncias do mundo real, sua milhagem pode variar significativamente com base em outras partes da consulta.
No MySQL, e talvez em outros bancos de dados, você poderia criar um índice em (col_b, col_a) e usá-lo para ambas as suas consultas - qualquer parte do índice de múltiplas colunas mais à esquerda é um índice. Um índice em (col1, col2, col3) é também um índice em (col1) e (col1, col2).
Para responder à sua pergunta específica, acho que você obteria benefícios significativos da indexação de col_b e col_a juntos. Se você ficar apenas com os índices independentes para cada coluna, uma de duas coisas acontecerá: ou o banco de dados usa um dos índices para considerar um subconjunto de linhas que correspondem a um dos valores e, em seguida, analisa-os para o segundo valor ou alguma fusão de índice on-the-fly fantasia para emular um índice em ambas as colunas. O MySQL 4 faria o primeiro, e o MySQL pode fazer o segundo. Em qualquer um desses casos, você também pode criar o índice combinado, porque espera usá-lo.