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").