Recordad que para pedir soporte alguno, debéis facilitar los datos de soporte oportunos por favor, mirad aquí y leer las Normas generales del foro, esto nos servirá de ayuda para dar el mejor soporte..

Gracias.

La Administración de phpBB España.

Pregunta sobre BBDD (Eliminar registros)

Foros donde podréis dejar vuestras dudas sobre phpBB 3.0.x
Cerrado

0
No hay votos
 
Votos totales: 0

Dr0gNan
Asiduo/a
Mensajes: 120
Registrado: 28 Mar 2008, 23:43

Pregunta sobre BBDD (Eliminar registros)

#1

Mensaje por Dr0gNan »

Buenas. La base de datos de mi foro empieza a ocupar bastante y quiero hacer limpieza de temas como los de noticias.

He comprobado que desde el panel de moderador o desde el de admin no se puede hacer gran cosa, eliminar en tandas de 25 o eliminar todos los hilos de un subforo (pero al hacer esto el foro se bloquea y me tienen que reparar la tabla los del hosting para que vuelva a funcionar todo correctamente).

Por eso he estado echando un ojo para eliminarlo mediante SQL.

Por lo que he visto tendria que hacer un borrado en las tablas:

- posts (Mensajes)
- topics (titulos de mensajes)
- topics_posted (numero de mensajes)

La cosa es que me gustaria saber como borrar registros relacionados con las otras 2 tablas, es decir borrarlo a la vez de las 3 tablas segun su relacion.

Una vez conseguido esto sera hacer un LIMIT para que borre de 30 en 30 y que no sature el servidor y lo cuelgue.

de MySQL no se mucho, no se si las JOIN funcionan en MySQL, a ver si podeis echarme una mano y decirme si esto vale:

Código: Seleccionar todo

DELETE FROM `phpbb_posts` AS P
JOIN `phpbb_topics` AS T ON T.forum_id = P.forum_id
JOIN `phpbb_topics_posted` AS TP ON TP.topic_id = T.topic_id
WHERE P.forum_id = 61
LIMIT 30

Código: Seleccionar todo

SELECT * FROM `phpbb_posts` AS P
JOIN `phpbb_topics` AS T ON T.forum_id = P.forum_id
JOIN `phpbb_topics_posted` AS TP ON TP.topic_id = T.topic_id
WHERE P.forum_id = 61
LIMIT 30
Gracias
Datos de Soporte
Spoiler
URL: http://elbardealktodostemen.net/foro/
Versión phpBB: phpBB3 (3.0.11)
MODs Instalados: links-opening-new-windows
Prime Quick Reply
eD2k links processing with availability statistics
Activity Stats
Simple Hide
Genders
cBB BlockGets
Advanced Bbcode Box
FAQ Manager
Plantilla(s) usada(s): SEO, X-treme
Servidor: Linux, de pago
Actualización desde otra versión: No
Conversión desde otro sistema de foros: No

Avatar de Usuario
Alorse
Ex Staff
Mensajes: 5144
Registrado: 22 Mar 2008, 02:14
Género:
Edad: 37

Re: Pregunta sobre BBDD (Eliminar registros)

#2

Mensaje por Alorse »

La verdad con la cantidad me mensajes y de usuarios que tienes la base de datos no es que deba estar muy pesada, o al menos no muy lenta, esas consultas claro que funcionan en MySQL, pero no te recomiendo combines esas tablas para borrar contenido, ya que las relaciones podrían no concordar... yo descartaría el JOIN, esto se usa en otros casos cuando las plataformas no están tan estructuradas como lo esta phpBB3.

Es mejor tomar otras opciones como la optimización de todas las tablas... aunque no es mucho el peso que reduciría, podría servir.
Otro es que limpies o vacíes las tablas de búsqueda, osea phpbb_search_wordmatch y phpbb_search_wordlist, pero esto puedes hacerlo directamente desde el ACP, limpiando los índices de Búsqueda.

Si quieres prueba esas 2 cosas, se que te servirán harto, al menos limpiar los índices puede bajar notoriamente el tamaño de la base de datos.

Otra cosa es Purgar los temas, pero la verdad no se como funciona muy bien esta opción, lo que hace es eliminar los temas cuando llevan mucho tiempo sin estar activos o sin ser visitados, puedes encontrar dicha utilidad en el ACP >> Foros >> Purgar foros.
Con esto eliminaras bastante contenido de tu foro, si haces esto es recomendable que optimices luego las tablas.

Avatar de Usuario
ahh72
Ex Staff
Mensajes: 3871
Registrado: 29 Dic 2008, 17:28
Género:
Edad: 53

Re: Pregunta sobre BBDD (Eliminar registros)

#3

Mensaje por ahh72 »

holas, tengo una duda del porque deseas eliminar informacion de tu foro o es que tu hosting limita la capacidad en la base de datos? si es asi seria recomendable andar viendo otro hosting donde no tengas estas limitaciones ya que seria un trabajo de nunca acabar y siempre estarias borrando informacion del foro :wink:

saludos

Datos de Soporte:
- URL del Foro: http://www.peruvoley.com/foro
- Hosting donde está alojada: http://www.rogohosting.com
- Versión del foro: 3.3.11
- Estilo: stasis-leak
- Mods Instalados:

Guias de ayuda:
Guia para corregir el copyright en foros phpBB3


Dr0gNan
Asiduo/a
Mensajes: 120
Registrado: 28 Mar 2008, 23:43

Re: Pregunta sobre BBDD (Eliminar registros)

#4

Mensaje por Dr0gNan »

Alorse escribió:no te recomiendo combines esas tablas para borrar contenido, ya que las relaciones podrían no concordar... yo descartaría el JOIN, esto se usa en otros casos cuando las plataformas no están tan estructuradas como lo esta phpBB3.

Es mejor tomar otras opciones como la optimización de todas las tablas... aunque no es mucho el peso que reduciría, podría servir.
Otro es que limpies o vacíes las tablas de búsqueda, osea phpbb_search_wordmatch y phpbb_search_wordlist, pero esto puedes hacerlo directamente desde el ACP, limpiando los índices de Búsqueda.

Otra cosa es Purgar los temas, pero la verdad no se como funciona muy bien esta opción, lo que hace es eliminar los temas cuando llevan mucho tiempo sin estar activos o sin ser visitados, puedes encontrar dicha utilidad en el ACP >> Foros >> Purgar foros.
Con esto eliminaras bastante contenido de tu foro, si haces esto es recomendable que optimices luego las tablas.
Aha, pues descartado queda. He usado MSSQL Server usando JOIN (en otras cosas) y no sabia si en MySQL existia. Gracias.

Probare lo de optimizar las tablas, thanks ;)


Sobre las tablas de busqueda, si las vacio pero luego genero los indices se volveran a crear, de lo contrario el buscador no valdria para nada no?

Sobre purgar temas no me queda muy claro, lo he intentado en el foro de pruebas y por hache o por B acaba borrando todos los temas. Se podrian haber creado los de phpBB una opcion para eliminar mensajes que se hayan creado hace x dias.
ahh72 escribió:porque deseas eliminar informacion de tu foro o es que tu hosting limita la capacidad en la base de datos? si es asi seria recomendable andar viendo otro hosting donde no tengas estas limitaciones ya que seria un trabajo de nunca acabar y siempre estarias borrando informacion del foro
La verdad es que si, esta limitado a 600 MB pero no es por eso, es sin mas, para borrar noticias o mensajes que se publicaron hace años y ya no tiene mucho sentido ya que pocos van a acceder a ellos.

Gracias a los dos por la ayuda.
Datos de Soporte
Spoiler
URL: http://elbardealktodostemen.net/foro/
Versión phpBB: phpBB3 (3.0.11)
MODs Instalados: links-opening-new-windows
Prime Quick Reply
eD2k links processing with availability statistics
Activity Stats
Simple Hide
Genders
cBB BlockGets
Advanced Bbcode Box
FAQ Manager
Plantilla(s) usada(s): SEO, X-treme
Servidor: Linux, de pago
Actualización desde otra versión: No
Conversión desde otro sistema de foros: No

Avatar de Usuario
leviatan21
Ex Staff
Mensajes: 8279
Registrado: 26 Mar 2008, 20:06
Género:
Edad: 55

Re: Pregunta sobre BBDD (Eliminar registros)

#5

Mensaje por leviatan21 »

Mensajes totales 52597 | Temas totales 13717 | Usuarios totales 714
Con esta estadística no creo que tu base pese mas de 200MB, y eso es un tamaño razonable.

En cuanto a vaciar las tablas de búsqueda ( generalmente pesan cerca de un 50% del total de la DB ) es lógico que no te funcionará la búsqueda de temas/mensajes anteriores y al re-crearla suele agrandarse un poco más.
Si utilizas Fulltext native, una opción sería ajustar los parámetros antes de recrearla :
ACP -> GENERAL
CONFIGURACIÓN DEL SERVIDOR
Configuración de búsqueda
Y en el apartado de Fulltext native verás las siguientes opciones :
Mínimo de caracteres indexados para búsqueda:
Palabras con no menos que esta cantidad de caracteres serán indexadas para búsqueda.
Máximo de caracteres indexados para búsqueda:
Palabras con no más que esta cantidad de caracteres serán indexadas para búsqueda.
Umbral de palabra común:
Palabras que estén contenidas en un porcentaje mayor de todos los mensajes serán referidas como comunes. Las palabras comunes serán ignoradas en las consultas de las búsquedas. Solo se efectuará si hay más de 100 mensajes. Si quiere que palabras que actualmente referidas como comunes sean tomadas en cuenta de nuevo tendrá que reformar el índice.
Y por último la opción de Habilitar auto-purga: sería lo ideal, ya que funciona bastante bien :chulo:
Normas de phpBB España | Normas de Soporte
No doy soporte por privado : tenga en cuenta que su problema, también puede ser el problema de otro usuario.
Cualquier mensaje privado no solicitado será ignorado :twisted:

"Education is what remains after one has forgotten everything he learned in school" - Albert Einstein

Dr0gNan
Asiduo/a
Mensajes: 120
Registrado: 28 Mar 2008, 23:43

Re: Pregunta sobre BBDD (Eliminar registros)

#6

Mensaje por Dr0gNan »

Aha, gracias compañero, lo de full text le meti mano hace tiempo y mas o menos ya lo tengo claro. De todas formas gracias. La BBDD ocupa 210 MB, no se, en unos meses de 80 ha subido a 200 jeje
Datos de Soporte
Spoiler
URL: http://elbardealktodostemen.net/foro/
Versión phpBB: phpBB3 (3.0.11)
MODs Instalados: links-opening-new-windows
Prime Quick Reply
eD2k links processing with availability statistics
Activity Stats
Simple Hide
Genders
cBB BlockGets
Advanced Bbcode Box
FAQ Manager
Plantilla(s) usada(s): SEO, X-treme
Servidor: Linux, de pago
Actualización desde otra versión: No
Conversión desde otro sistema de foros: No

Cerrado

Volver a “Foros de Soporte 3.0.x”