Vamos a hacer una prueba.
Me imagino que esta consulta:
Código sql:
Ver originalSELECT COUNT(t_posts_themes.POST_ID) AS TOTAL_POSTS FROM t_posts_themes LEFT JOIN t_posts ON t_posts_themes.POST_ID = t_posts.POST_ID WHERE t_posts_themes.THEME_ID = 7 AND t_posts.POST_options_erased = 0 AND t_posts.POST_enabled = 1 AND t_posts.POST_date_publish <= NOW()
la ejecutas y recoges uno a uno los valores de los conteos.
Une todas las consultas con union y recoge las variables como registros y no como columnas.
Me explico:
cuando ejecutas cada conteo, el valor retornado es: 347 o 346 (etc.) dependiendo del caso. y solo retorna un numero.
la idea es hacer algo como:
Código sql:
Ver originalSELECT COUNT(t_posts_themes.POST_ID) AS TOTAL_POSTS
FROM t_posts_themes LEFT JOIN t_posts ON
t_posts_themes.POST_ID = t_posts.POST_ID
WHERE t_posts_themes.THEME_ID = 7 AND
t_posts.POST_options_erased = 0 AND
t_posts.POST_enabled = 1 AND
t_posts.POST_date_publish <= NOW()
UNION ALL
SELECT COUNT(t_posts_themes.POST_ID) AS TOTAL_POSTS
FROM t_posts_themes LEFT JOIN t_posts ON
t_posts_themes.POST_ID = t_posts.POST_ID
WHERE t_posts_themes.THEME_ID = 6 AND
t_posts.POST_options_erased = 0 AND
t_posts.POST_enabled = 1 AND
t_posts.POST_date_publish <= NOW()
UNION ALL
SELECT COUNT(t_posts_themes.POST_ID) AS TOTAL_POSTS
FROM t_posts_themes LEFT JOIN t_posts ON
t_posts_themes.POST_ID = t_posts.POST_ID
WHERE t_posts_themes.THEME_ID = 5 AND
t_posts.POST_options_erased = 0 AND
t_posts.POST_enabled = 1 AND
t_posts.POST_date_publish <= NOW()
UNION ALL
SELECT COUNT(t_posts_themes.POST_ID) AS TOTAL_POSTS
FROM t_posts_themes LEFT JOIN t_posts ON
t_posts_themes.POST_ID = t_posts.POST_ID
WHERE t_posts_themes.THEME_ID = 2 AND
t_posts.POST_options_erased = 0 AND
t_posts.POST_enabled = 1 AND
t_posts.POST_date_publish <= NOW()
etc....
Asumo que usas funciones como mysql_fetch_array para extraer los datos e ingresarlos en variables php. Desde php podrías almacenar estos valores en un vector mientras recorres la consulta.
Como ayudaría esto?
Pues te ahorra 8 viajes al servidor para sacar la misma información y aunque quede mas compleja te traerá todos los datos igual
Pruebalo y nos cuentas