Je voudrais pouvoir compter le nombre d'enregistrements total de toutes les
tables d'une base de données SQL Server 2000, en une seule fois (un seul
script). Est-ce possible ? (exemple: select count(*) from "all tables" ?)
Est-il possible d'extraire toutes les données de toutes les tables d'une
base de données SQL Server 2000, en une seule fois (un seul script) ?
Je pose ces questions dans un but de tests de performances.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Rudi Bruchez
let Tue, 30 May 2006 07:41:02 -0700, Houdini a écrit:
Bonjour à toute(s) et à tous,
Je voudrais pouvoir compter le nombre d'enregistrements total de toutes les tables d'une base de données SQL Server 2000, en une seule fois (un seul script). Est-ce possible ? (exemple: select count(*) from "all tables" ?)
Est-il possible d'extraire toutes les données de toutes les tables d'une base de données SQL Server 2000, en une seule fois (un seul script) ?
Je pose ces questions dans un but de tests de performances.
Bonjour,
pour simuler un COUNT sur toutes les tables, en partant du principe que toutes les tables ont au moins un index, tu peux utiliser la table système sysindexes, qui contient une colonne rowcnt (ou qqch du genre, c'est de mémoire). Certains disent que la fiabilité n'est pas 100%, mais en général la valeur est correcte.
Si c'est pour lancer des requêtes pour un test de performance, il existe une sp non documentée : sp_MSforeachtable. Exemple (de mémoire, non testé):
sp_MSforeachtable "SELECT COUNT(*) FROM ?"
Tu peux envoyer trois commandes sous forme de trois paramètres. Il y a des exemples ici : http://sqlpro.developpez.com/cours/sqlserver/MSSQLServer_avoidCursor/
-- Rudi Bruchez - MCDBA http://www.babaluga.com/
let Tue, 30 May 2006 07:41:02 -0700, Houdini a écrit:
Bonjour à toute(s) et à tous,
Je voudrais pouvoir compter le nombre d'enregistrements total de toutes les
tables d'une base de données SQL Server 2000, en une seule fois (un seul
script). Est-ce possible ? (exemple: select count(*) from "all tables" ?)
Est-il possible d'extraire toutes les données de toutes les tables d'une
base de données SQL Server 2000, en une seule fois (un seul script) ?
Je pose ces questions dans un but de tests de performances.
Bonjour,
pour simuler un COUNT sur toutes les tables, en partant du principe que
toutes les tables ont au moins un index, tu peux utiliser la table système
sysindexes, qui contient une colonne rowcnt (ou qqch du genre, c'est de
mémoire). Certains disent que la fiabilité n'est pas 100%, mais en général
la valeur est correcte.
Si c'est pour lancer des requêtes pour un test de performance, il existe
une sp non documentée : sp_MSforeachtable. Exemple (de mémoire, non testé):
sp_MSforeachtable "SELECT COUNT(*) FROM ?"
Tu peux envoyer trois commandes sous forme de trois paramètres.
Il y a des exemples ici :
http://sqlpro.developpez.com/cours/sqlserver/MSSQLServer_avoidCursor/
let Tue, 30 May 2006 07:41:02 -0700, Houdini a écrit:
Bonjour à toute(s) et à tous,
Je voudrais pouvoir compter le nombre d'enregistrements total de toutes les tables d'une base de données SQL Server 2000, en une seule fois (un seul script). Est-ce possible ? (exemple: select count(*) from "all tables" ?)
Est-il possible d'extraire toutes les données de toutes les tables d'une base de données SQL Server 2000, en une seule fois (un seul script) ?
Je pose ces questions dans un but de tests de performances.
Bonjour,
pour simuler un COUNT sur toutes les tables, en partant du principe que toutes les tables ont au moins un index, tu peux utiliser la table système sysindexes, qui contient une colonne rowcnt (ou qqch du genre, c'est de mémoire). Certains disent que la fiabilité n'est pas 100%, mais en général la valeur est correcte.
Si c'est pour lancer des requêtes pour un test de performance, il existe une sp non documentée : sp_MSforeachtable. Exemple (de mémoire, non testé):
sp_MSforeachtable "SELECT COUNT(*) FROM ?"
Tu peux envoyer trois commandes sous forme de trois paramètres. Il y a des exemples ici : http://sqlpro.developpez.com/cours/sqlserver/MSSQLServer_avoidCursor/