Amigo no entendí muy bien lo de las columnas virtuales, que registro se guardan en la columna virtual, si tengo adicional al name la columna email cómo se específica que busque en el name o el email
Una columna virtual no se guarda en tu tabla, si no que se genera o deriva de otras columnas utilizando una expresion. Por ejemplo si tuvieras una columna first_name y last_name, puedes generar una columna virtual llamada full_name que se genere con la expresión concat(first_name, ' ', last_name) de esta forma cada vez que quieras el nombre completo del usuario podrias obtenerlo utilizando la columna virtual full_name. Literalmente puedes crear columnas virtuales para cualquier columna(s) según tus necesidades, tampoco es 100% necesario que las implementes solamente es una opción más que existe.