SIZE of a TABLE

di il
6 risposte

SIZE of a TABLE

Buongiorno a tutti,

Sono abbastanza novizio con sql per cui avrei bisogno di una query che mi dia come risultato la dimensione di una tabella in Megabyte. Qualcuno potrebbe aiutarmi?

Grazie mille!

6 Risposte

  • Re: SIZE of a TABLE

    La dimensione della tabella in mb?

    Si può con sp_spaceused ma a cosa ti serve?
  • Re: SIZE of a TABLE

    Ecco la chiamata alla stored procedure di sistema che puoi usare:
    
    EXEC sp_spaceused N'[dbo].[nome_tabella]'; 
  • Re: SIZE of a TABLE

    Chiedo scusa, non essendo un super esperto di sql potrei dire qualche cavolata, in ogni caso cerco di spiegarmi meglio e perché cerco questo dato.

    Lavoro per una società che sviluppa software professionali per il trading utilizzati nelle banche da trader esperti.

    Il Database principale a supporto di questo software ha diverse tabelle, dove sono salvati i contratti scaricati, gli ordini inviati al mercato, le operazioni di acquisto e vendita registrate a mercato etc. Quindi stiamo parlando di db con dimensioni elevate (diversi GB).
    In una normale operazione di monitoring per capire dove si può liberare spazio volevo capire quale di queste tabelle è più pesante e su quale di queste potrebbe essere conveniente agire per liberare spazio.
    Da qui l'origine di questa richiesta.
    Da server linux posso accedere al db col comando dbaccess > selezionare il db > e poi selezionando "Info" nel menù in alto vedere tutte le tabelle del db.
    Se ci fosse una query per capire la size di tutte le tabelle del db sarebbe ottimo.
    Grazie mille
  • Re: SIZE of a TABLE

    Nel SSMS è disponibile un report ;
    click dx sul database / Report e scegli quale vuoi
  • Re: SIZE of a TABLE

    Puoi fare una stima ""spannometrica"":

    n.record*n.colonne

    E' abbastanza plausibile che le tabelle con il valore piu' alto sono quelle da prendere in considerazione.
    In alternativa al numero di colonne, puoi ""quantificare"" la dimensione di ogni record in base al tipo di colonne.
    Da cui

    n.record*dim.record

    Ma non andrai tanto lontano, nel senso che le tabelle saranno sempre le stesse.
  • Re: SIZE of a TABLE

    "Se ci fosse una query per capire la size di tutte le tabelle del db sarebbe ottimo" Non ho capito bene perchè non usi il comando indicato da toki utilizzando i metadati del db (nel tuo caso i nomi delle tabelle)?,

    se hai problemi di performance puoi forse considerare di partizionare le tabelle più grandi https://docs.microsoft.com/it-it/sql/relational-databases/partitions/partitioned-tables-and-indexes?view=sql-server-ver15
    https://docs.microsoft.com/it-it/azure/architecture/best-practices/data-partitioning

    una mia curiosità,se possibile, che linguaggio usate per l'applicativo?
Devi accedere o registrarti per scrivere nel forum
6 risposte