Favorezca siempre la opción 2, ya que son a prueba de inyección SQL. La opción 1 hará que su sitio sea pirateado en 5 minutos, mientras que los piratas informáticos tendrán dificultades para romper la opción 2.
Incluso en la opción de rendimiento 2 puede ser un poco más rápido.
Sin embargo :Los nombres de las tablas no se pueden escapar con ?
así que no vayas allí. Solo asegúrese de que los usuarios no puedan ingresar el nombre de la tabla manualmente y estará a salvo de los piratas informáticos.
-editar-
¿Por qué querrías hacer que los nombres de las tablas fueran variables de todos modos?