Hola:
Un porcentaje de carga siempre puede programarse cuando pueden obtenerse resultados intermedios, pero eso de la consulta... no se tratará a una consulta a una base de datos...
Normalmente no se puede saber el porcentaje, sino cuando la consulta ha terminado, y devuelto valores.
Me temo que lo más fácil de implementar es un gif animado que se oculte al cargarse los datos... y lo de Ajax... bueno, ¿la consulta, acaso es ajax...?
Saludos