wp_get_post_tags the_tags tag obtener name first codex all database performance url select slug

database - the_tags - wordpress obtener id post



Obteniendo registros con slug en lugar de ID (2)

Con el primer estilo de URL y su diseño de base de datos actual, puede hacer esto:

select ... from posts p join posts_to_tags pt on pt.post_id = p.post_id join tags t on t.id = pt.tag_id where t.slug = [url slug value];

Siempre que index.slug esté indexado, esto debería ser muy eficiente, apenas diferente de

select ... from posts p join posts_to_tags pt on pt.post_id = p.post_id where pt.tag_id = [url tag ID];

Actualmente estoy tratando de encontrar la mejor manera (en términos de usabilidad y rendimiento) cuando trato con una situación como buscar registros etiquetados con una etiqueta, categoría o algo así.

Una buena forma (como quería hacerlo) sería obtener registros con la etiqueta / categoría slug, para que la URL se vea así:

http://stackoverflow.com/questions/tagged/language-agnostic

obteniendo registros por slug, que se ve mejor que:

http://stackoverflow.com/questions/tag/789/language-agnostic

buscando ID y agregando la babosa para que sea más amigable para los motores de búsqueda. Este es mejor en cuanto a rendimiento, porque recuperar datos por un ID entero sería más rápido que una cadena. (cmiiw)

Ahora, con un esquema db como:

posts post_to_tags tags ----- ------------ ---- id id id title post_id name content tag_id slug ... ...

Lo estoy haciendo bien ? ¿Hay trampas o mejores prácticas que necesito saber para evitar problemas de rendimiento? (por ejemplo, las etiquetas no deben exceder los 10,000 registros, o las etiquetas no deben exceder n caracteres, o alguna otra cosa)

Gracias por adelantado.


El primero es mejor, pero ¿pueden cambiarse las babosas? En ese caso, necesitaría tener una tabla de redirección (por ejemplo, "some-article-about-dogs" ahora es "article-about-dogs-and-cats").