Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Dimensione anomala database

    Salve a tutti,

    Gestisco due blog su piattaforma WordPress, il primo con 1558 post ha un database di dimensione pari a 6023 KB, mentre il secondo con 759 post, occupa 19182 KB. Da precisare, che i post di questo blog sono più lunghi di quello del primo. Le dimensione mi sembrano comunque eccessive. Ho controllato le singole tabelle, e quella sospetta è la tabella dei post.

    Ecco i particolari:

    blog 1 (1558 post)

    DB: 9145 KB

    Tabella wp_posts: 6023 KB


    blog 2 (759 post)

    DB: 24155 KB

    Tabella wp_posts: 19182


    Quindi ogni post occupa in media circa 25.27 KB

    ************************************************** *

    Nel blog 2 avevo già rimosso una chiave INDEX duplicata ed eliminato lo spazio in eccesso, scalando lo spazio di un bel pò...

    C'è un modo per ridurre la tabella wp_posts? possibile che dei post (quindi solo testo) occupano tutto quello spazio?

    Grazie in anticipo

  2. #2
    senza conoscere la struttura della tabella non si puo' dare risposta.

    qui, sul manuale, trovi lo spazio occupato dai vari tipi di campo

    http://dev.mysql.com/doc/refman/5.0/...uirements.html

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Originariamente inviato da piero.mac
    senza conoscere la struttura della tabella non si puo' dare risposta.

    qui, sul manuale, trovi lo spazio occupato dai vari tipi di campo

    http://dev.mysql.com/doc/refman/5.0/...uirements.html
    ok, grazie, leggerò la guida...

  4. #4
    Originariamente inviato da piero.mac
    senza conoscere la struttura della tabella non si puo' dare risposta.
    Aggiungo, le tabelle dei DB dei due blog hanno la stessa struttura, in quanto creati dallo stesso script d'installazione di wordpress.

    In ogni caso, ecco uno screenshot della tabella che occupa troppo spazio:


  5. #5
    va bene vedere la struttura ma sarebbe anche interessante vedere gli indici.

    Quella tabella con l'uso dei bigint dimostra di essere assolutamente ottimistica ... il bigint occupa 8 byte di fisso e ne hai 4 di bigint. Tanto per... sai quale valore numerico puo' memorizzare? non so come si pronuncia e quindi preferisco scriverlo:

    campo bigint unsigned = da 0 a 18.446.744.073.709.550.615

    mentre un campo INT unsigned "solo" 4.294.967.295 e questa la so: quattromiliardi 294 milioni 967 mila 295 valori.

    Poi hai campi longtext e vari text (un longtext puo' contenere fino a 4,2 giga) ma questi campi sono di dimensione variabile come i varchar tanto per intenderci. Controlla il contenuto per vedere se hai qualche record con valori anomali. Poi ovvio che gli indici creano una copia per l'ordinamento, verifica la cardinalita', cioe' quanto gli indici occupano rispetto ai dati

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  6. #6
    Originariamente inviato da piero.mac
    va bene vedere la struttura ma sarebbe anche interessante vedere gli indici.
    ecco uno screenshot:



    come dicevo all'inizio, c'era una chiave INDEX duplicata, l'ho cancellata, liberando circa 20 MB

    Originariamente inviato da piero.mac
    Quella tabella con l'uso dei bigint dimostra di essere assolutamente ottimistica ... il bigint occupa 8 byte di fisso e ne hai 4 di bigint. Tanto per... sai quale valore numerico puo' memorizzare? non so come si pronuncia e quindi preferisco scriverlo:

    campo bigint unsigned = da 0 a 18.446.744.073.709.550.615

    mentre un campo INT unsigned "solo" 4.294.967.295 e questa la so: quattromiliardi 294 milioni 967 mila 295 valori.

    Poi hai campi longtext e vari text (un longtext puo' contenere fino a 4,2 giga) ma questi campi sono di dimensione variabile come i varchar tanto per intenderci. Controlla il contenuto per vedere se hai qualche record con valori anomali. Poi ovvio che gli indici creano una copia per l'ordinamento, verifica la cardinalita', cioe' quanto gli indici occupano rispetto ai dati
    Siccome sono praticamente a digiuno di mysql (altrimenti non avrei postato qui), ti chiedo: come si controlla la dimensione dei singoli record?

    Da phpmyadmin ho provato ad andare (dopo aver selezionato la tabella) su Struttura->Campo. A questo punto sono andato su "naviga tra i valori DISTINCT", ma mi sa che non c'entra nulla....

  7. #7
    sinceramente non trovo nulla di anomalo nella tua tabella se non quei valori assurdi di formato bigint e longtext. gia' riducendo i bigint a int recupereresti 16byte * record

    Poi dallo screen shot che hai postato la cardinalita' risulta essere 2719 e non 759 come affermi nel primo post.

    Quindi e' tutto ok.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  8. #8
    Originariamente inviato da piero.mac
    sinceramente non trovo nulla di anomalo nella tua tabella se non quei valori assurdi di formato bigint e longtext. gia' riducendo i bigint a int recupereresti 16byte * record
    Ok, farò delle prove in locale.


    Originariamente inviato da piero.mac
    Quindi e' tutto ok.
    La max dimensione del database offerta dall'hosting è 200 MB. In vista dell'esaurimento dello spazio fisico, o cambio hosting, oppure cancellerò i post vecchi, trasferendoli su un hosting free, raggiungibili tramite redirect....

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.