¿Cuánto más rápida es una consulta de impuestos que una meta consulta?

2

Estoy creando un tipo de publicación de cartera y quiero tener una forma de marcar ciertas piezas como presentadas, algunas como normales (predeterminadas) y otras como archivadas. Las piezas solo serían una de estas 3. Debido al valor singular, tiene sentido para mí que esto sea un meta de publicación. Pero, he leído que la consulta por taxonomía es supuestamente más rápida, así que construí una solución donde aparece, normal y archivado son 3 términos en una taxonomía personalizada.

Debería atenerme a las taxonomías para este caso, o cambiar a publicar meta. Me doy cuenta de que es una pregunta de opinión, para que sea más específica: ¿merece la pena aumentar la complejidad de la velocidad de consulta al crear una taxonomía personalizada y modificarla de modo que solo pueda tener un término? ¿Es una taxonomía donde solo puede tener 1 término para vencer el propósito de una taxonomía en primer lugar?

    
pregunta helgatheviking 06.04.2012 - 15:53

2 respuestas

4

No estoy seguro de que uno pueda llamarse categóricamente más rápido que el otro. Y, en cualquier caso, solo va a surgir cuando empieces a escalar a muchos, muchos objetos.

El problema es este: la tabla postmeta es una tabla de valores clave que no está indexada. Si tiene un cierto número de filas en la tabla, por ejemplo, unos pocos cientos de miles, esto puede comenzar a causar problemas de velocidad, porque MySQL tiene que hacer un análisis de tablas completo cada vez que realiza una consulta como ...FROM $wpdb->posts WHERE meta_value = 'foo' and meta_value = 'bar'...

Las consultas de taxonomía, por otro lado, requieren una o dos subconsultas. Pero las tablas en cuestión están indexadas agresivamente (y las consultas se pueden almacenar en caché de una manera agradable) para que estas consultas se desempeñen dramáticamente mejor a escala (nuevamente, 'escala' significa muchos, muchos miles de publicaciones).

En lo que respecta a la "complejidad", en realidad solo son unas pocas líneas de código adicionales para register_taxonomy() . El parámetro tax_query para WP_Query no es más complejo que meta_query , y la sintaxis de wp_x_post_terms() es solo un poco más compleja que x_post_meta() . Y no me preocuparía por "derrotar el propósito de una taxonomía". Las herramientas están disponibles para que las use, pero funciona mejor para su proyecto :) Y puede llegar un día en que, por alguna razón, usted quiera tener varios términos por artículo, en cuyo caso el la elección de las taxonomías hubiera sido una opción con visión de futuro.

    
respondido por el Boone Gorges 06.04.2012 - 16:46
1

¿Es una taxonomía en la que solo puede tener 1 término para vencer el propósito de una taxonomía en primer lugar?

Puede cambiar la forma en que aparece en la página de edición posterior usando metabox para hacer el cuadro de selección de taxonomía, de modo que solo se seleccione un término ...

Creo que, en su caso, la consulta meta será más rápida que la consulta de impuestos ya que la consulta requiere 2 tablas para unirse a las publicaciones y postmeta, mientras que la taxonomía requerirá las publicaciones de tres tablas, la tabla de relación de taxonomía y la tabla de términos ...

    
respondido por el Rajeev Vyas 06.04.2012 - 16:51

Lea otras preguntas en las etiquetas