clave meta múltiple, pero la carga del servidor es muy alta

4

cuando tenemos más de 10 teclas meta, obtengo el 100% de uso del servidor. ¿Hay alguna opción para optimizar la consulta.

 $meta_query = array('relation' => 'AND');
    foreach ($requestData as  $key => $value) {
        $meta_query[] = array(
            'key' => $value,
            'value' => '1',
            'compare' => '='
        );
    }

    $args = array( 'post_type' => 'healthcare', 'post_status' => 'publish', 'posts_per_page' => -1, 'meta_query' => $meta_query);

    $loop = new WP_Query( $args );
    $total = $loop->found_posts;
    
pregunta Abhay Yadav 09.02.2018 - 17:26

1 respuesta

3

Las meta consultas complejas con un gran número de valores meta para encontrar pueden ser lentas. Cada clave de metadatos que consulta genera un JOIN más en la consulta y, si tiene una base de datos grande, puede ser lenta. Puedes probar algunas cosas:

  • Optimice sus tablas de base de datos, es posible que tenga muchos datos huérfanos que puedan contribuir a la velocidad de consulta de la base de datos.
  • Intente limitar el número de devoluciones de consultas de publicaciones, si tiene muchos registros en el conjunto de resultados que también pueden causar problemas de velocidad.
  • Póngase en contacto con su alojamiento (o hágalo usted mismo si tiene acceso) para consultar el registro de consultas lentas de MySQL para ver por qué la consulta es lenta, y tal vez haga alguna optimización en la configuración del servidor MySQL para un mejor almacenamiento en caché.
respondido por el Milan Petrovic 09.02.2018 - 17:54

Lea otras preguntas en las etiquetas