OVH Cloud OVH Cloud

Taille de chaque table

9 réponses
Avatar
SICARD Cedric
bonjour,
existe t il une sp ou une fonction ^pour connaitre la taille de chaque table
?

d'avance merci

9 réponses

Avatar
Ambassadeur Kosh
> bonjour,
existe t il une sp ou une fonction ^pour connaitre la taille de chaque
table ?



la taille, oui mais laquelle ? le nombre de lignes, la taille physique
allouée, la taille physique occupée, la taille logique alloué, la taille
logique occupée, les indexs entrent ils en ligne de compte ?

Cédric, la réponse va dépendre énormement de ce que tu veux faire, et de ce
que tu as sous la main (ADO .Net, autre couche...)
Avatar
SICARD Cedric
en fait je me rends compte que ma base augmente de façon extraordinaire ces
derniers mois sans vraiment savoir pourquoi.
pour orienter mes recherches j'aimerai connaitre la taille physique occupée
de chaque table pour voir celles qui augmentent le plus (les indexes seront
pris en compte si c possible) .

concernant les outils peut importe je pensais qu'avec sql server je pouvais
calculer directement.

"Ambassadeur Kosh" wrote in message
news:e%OYe.36583$
bonjour,
existe t il une sp ou une fonction ^pour connaitre la taille de chaque
table ?



la taille, oui mais laquelle ? le nombre de lignes, la taille physique
allouée, la taille physique occupée, la taille logique alloué, la taille
logique occupée, les indexs entrent ils en ligne de compte ?

Cédric, la réponse va dépendre énormement de ce que tu veux faire, et de
ce que tu as sous la main (ADO .Net, autre couche...)



Avatar
Ambassadeur Kosh
à tout hasard, t'as desactivé le log ou est stocké tout l'historique des
opérations ?
Avatar
SICARD Cedric
tu m'insultes là ;-)


"Ambassadeur Kosh" wrote in message
news:6qPYe.36595$
à tout hasard, t'as desactivé le log ou est stocké tout l'historique des
opérations ?



Avatar
Fred BROUARD
-- taille de la base :
SELECT sum(size) * 8 / 1024 as sizeMOdataAndLog
FROM sysfiles
GO

-- détails des espaces utilisés :
sp_spaceused @updateusage = 'TRUE'
GO

-- détails des fichiers de données
SELECT fileid, groupid, size * 8 / 1024 as sizeMO,
CASE maxsize
WHEN 0 THEN 'aucune'
WHEN -1 THEN 'illimitée'
ELSE 'fixe'
END as strategieSize,
CASE maxsize
WHEN -1 THEN NULL
ELSE maxsize * 8192
END as maxSize,
CASE WHEN status & CAST(0x100000 AS INT) = CAST(0x100000 AS INT) THEN
'pourcentage' ELSE 'fixe' END as grossissement,
growth,
CAST(status as VARBINARY) as status,
SUBSTRING(filename, 1, 2) as unit,
CASE WHEN status & CAST(0x100000 AS INT) = CAST(0x100000 AS INT) THEN 1
ELSE 0 END as autogrow,
CASE WHEN status & CAST(0x40 AS INT) = CAST(0x40 AS INT) THEN 'Journal'
ELSE 'Données' END as fileType
FROM sysfiles

-- tables par table, la moyenne de longueur des lignes et le nombre
-- => taille de chaque table.
DBCC SHOWCONTIG WITH TABLERESULTS

SICARD Cedric a écrit:
bonjour,
existe t il une sp ou une fonction ^pour connaitre la taille de chaque table
?

d'avance merci





--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
Avatar
Patrice
SQL Enterprise Manager, cliquer sur la base de données et et affiche la vue
"Liste des tâches". Il 'y a un onglet "information sur les tables" qui donne
déjà de premières indications...

--
Patrice

"SICARD Cedric" a écrit dans le message de
news:u$
bonjour,
existe t il une sp ou une fonction ^pour connaitre la taille de chaque


table
?

d'avance merci




Avatar
Ambassadeur Kosh
certaines structures de données ont tendance à bouffer pas mal de place
contrairement à d'autre comme les decimal ou les int.
à part la tech de Fred Brouard en utilisant sysfiles pour localiser, pas
d'autre idée de la source potentielle du probleme...
peut être une quantité effarante d'indexs ?

quelle genre d'opérations tu fais sur tes tables pour que ça fasse ça ?
Avatar
bruno reiter [MVP]
j'ai fait ceci :

create table #count_tab
(
name nvarchar(222),
rows int,
reserved nvarchar(55),
data nvarchar(55),
index_size nvarchar(55),
unused nvarchar(55)
)
go

sp_msforeachtable @command1 = 'insert #count_tab exec sp_spaceused ''?'''

select tailleKB=convert(int,replace(reserved,' KB','')), * from #count_tab
order by 1

drop table #count_tab
go


br

"SICARD Cedric" wrote in message
news:u$
bonjour,
existe t il une sp ou une fonction ^pour connaitre la taille de chaque


table
?

d'avance merci




Avatar
SICARD Cedric
tu as raison ceux sont mes index qui foutent le bordel.
Merci

"Ambassadeur Kosh" wrote in message
news:_cVYe.36694$
certaines structures de données ont tendance à bouffer pas mal de place
contrairement à d'autre comme les decimal ou les int.
à part la tech de Fred Brouard en utilisant sysfiles pour localiser, pas
d'autre idée de la source potentielle du probleme...
peut être une quantité effarante d'indexs ?

quelle genre d'opérations tu fais sur tes tables pour que ça fasse ça ?