A maneira mais rápida de copiar arquivos de um diretório para outro

Preciso copiar arquivos de um diretório para outro, dependendo da existência do nome do arquivo em uma tabela do banco de dados SQL.

Para isso, uso o seguinte código:

using(SqlConnection connection = new SqlConnection("datasource or route"))
{

  connection.Open();

  using(SqlCommand cmd = new SqlCommand("SELECT idPic, namePicFile FROM DocPicFiles", connection))
  using (SqlDataReader reader = cmd.ExecuteReader())
  {

    if (reader != null)
    {
      while (reader.Read())
      {
        //picList IS AN ARRAY THAT Contains All the files names in a directory
        if (picList.Any(s => s.Contains(reader["namePicFile"].ToString())))
        {
          File.Copy("theFile  in the Directory or array picList",  "the destiny directory"+ ".jpg", false)
        }
      }
    }
  }
}

Existe alguma maneira de fazer isso em menos tempo? Demora 1 hora para fazer isso, para 20.876 registros.

questionAnswers(4)

yourAnswerToTheQuestion