On a souvent besoin de connaitre le nombre d’enregistrements (rows) d’une table.
On peut bien sur faire une requête avec un count sur une colonne
SELECT COUNT(monid) FROM matable
par contre, cette requête peut s’avérer très lente pour compter le nombre de lignes.
(Plus de 1 min pour une table de 2 500 000 lignes).
La requête suivante en s’appuyant sur la table sys.partitions permet d’obtenir le même résultat beaucoup plus rapidement.
SELECT rows
FROM sys.partitions
WHERE OBJECT_NAME(object_id) IN (matable)
(Instantané pour une table de 2 500 000 lignes).
Petite variante permettant de connaitre la table ayant le plus d’enregistrement.
SELECT OBJECT_NAME(object_id), rows
FROM sys.partitions
WHERE rows=(select max(rows) from sys.partitions)
(Testé sous sql server 2008).
Voilà, j’espère que ces requêtes vous permettrons de comptabiliser efficacement vos données.
Et si vous avez envie d’en savoir plus sur SQL je vous invite aussi à lire :
Sources:
Voilà 10 ans que je n'avais pas écrit un petit texte pour souhaiter un joyeux… Read More
Cela faisait un petit moment que je n'avais pas créé de billets sur ce blog.… Read More
Explorez l'importance des user stories dans la méthode Agile à travers une vidéo humoristique qui… Read More
Parce que, contrairement à ce que l'on pourrait penser ce soir qu'il pleut des cordes,… Read More
Un peu d’humour en attendant le résultat des élections présidentielles françaises. Read More
Si vous n'avez pas accès à l'interface graphique de votre Linux, vous pouvez modifier l'horloge… Read More