Précédent   Forum des professionnels en informatique > Bases de données > Firebird
Firebird Forum d'entraide sur le SGBD Firebird. Avant de poster -> F.A.Q Firebird, Tutoriels
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/09/2008, 12h13   #1
Membre éprouvé
 
Homme
Analyste-développeur
Inscription : mai 2002
Messages : 993
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Algérie

Informations professionnelles :
Activité : Analyste-développeur

Informations forums :
Inscription : mai 2002
Messages : 993
Points : 425
Points : 425
Par défaut Calculer la taille d'un record d'une table

Bonjour,

J'aimerais juste savoir si il y a un moyen par un rdb$database de calculer la taille d'un enregistrement d'une table afin de pourvoir déterminer le maximum d'enregistrements à insérer ?

Merci
__________________
Il n' y a de Pouvoir que le Savoir
freud est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/09/2008, 12h19   #2
Expert Confirmé

 
Homme Philippe Makowski
Consultant spécialité Firebird
Inscription : mai 2002
Messages : 2 215
Détails du profil
Informations personnelles :
Nom : Homme Philippe Makowski
Âge : 49
Localisation : France

Informations professionnelles :
Activité : Consultant spécialité Firebird
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 2 215
Points : 3 318
Points : 3 318
pardon ?
__________________
Philippe Makowski
IBPhoenix - Firebird
Membre de l'April
makowski est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/09/2008, 12h30   #3
Membre éprouvé
 
Homme
Analyste-développeur
Inscription : mai 2002
Messages : 993
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Algérie

Informations professionnelles :
Activité : Analyste-développeur

Informations forums :
Inscription : mai 2002
Messages : 993
Points : 425
Points : 425
je m'explique....
J'ai une table devant contenir une soixantaine de champ et avec un maximum de 20 à 30000 enregitrements. Avec ce nombre de champs je me demande si je ne risque pas d'alourdir mes requêtes d'autant que je souhaiterais rajouter deux champs BLOB à cette table :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
 
CREATE TBL_SALARIE(
    CHAMP1         CHAR(3) CHARACTER SET UTF8,
    CHAMP2         INTEGER NOT NULL,
    CHAMP3         VARCHAR(35) CHARACTER SET UTF8,
    CHAMP4         VARCHAR(30) CHARACTER SET UTF8,
    CHAMP5         VARCHAR(45) CHARACTER SET UTF8,
    CHAMP6         CHAR(2) CHARACTER SET UTF8 NOT NULL,
    CHAMP7         VARCHAR(35) CHARACTER SET UTF8,
    CHAMP8         VARCHAR(35) CHARACTER SET UTF8,
    CHAMP9         INTEGER,
    CHAMP10       VARCHAR(1) CHARACTER SET UTF8,
    CHAMP11       SMALLINT,
    CHAMP12       DATE,
    CHAMP13       INTEGER DEFAULT 0,
    CHAMP14       VARCHAR(25) CHARACTER SET UTF8,
    CHAMP15       VARCHAR(6) CHARACTER SET UTF8,
    CHAMP16       DATE,
    CHAMP17       DATE,
    CHAMP18       INTEGER DEFAULT 0,
    CHAMP19       INTEGER DEFAULT 0,
    CHAMP20       CHAR(3) CHARACTER SET UTF8,
    CHAMP21       VARCHAR(30) CHARACTER SET UTF8,
    CHAMP22       VARCHAR(35) CHARACTER SET UTF8,
    CHAMP23       VARCHAR(30) CHARACTER SET UTF8,
    CHAMP24       INTEGER DEFAULT 0,
    CHAMP25       INTEGER DEFAULT 0,
    CHAMP26       INTEGER DEFAULT 0,
    CHAMP27       NUMERIC(12,2) DEFAULT 0,
    CHAMP28       INTEGER DEFAULT 0,
    CHAMP29       NUMERIC(12,5) DEFAULT 0,
    CHAMP30       DATE,
    CHAMP31       INTEGER DEFAULT 0,
    CHAMP32       VARCHAR(10),
    CHAMP33       INTEGER DEFAULT 0,
    CHAMP34       INTEGER DEFAULT 0,
    CHAMP35       VARCHAR(20),
    CHAMP36       VARCHAR(10),
    CHAMP37       VARCHAR(10),
    CHAMP38       VARCHAR(15),
    CHAMP39       VARCHAR(50) CHARACTER SET UTF8,
    CHAMP40       VARCHAR(50) CHARACTER SET UTF8,
    CHAMP41       VARCHAR(50) CHARACTER SET UTF8,
    CHAMP42       INTEGER,
    CHAMP43       VARCHAR(40) CHARACTER SET UTF8,
    CHAMP44       INTEGER DEFAULT 0,
    CHAMP45       VARCHAR(20) CHARACTER SET UTF8,
    CHAMP46       VARCHAR(20) CHARACTER SET UTF8,
    CHAMP47       VARCHAR(20) CHARACTER SET UTF8,
    CHAMP48       VARCHAR(30) CHARACTER SET UTF8,
    CHAMP49       VARCHAR(30) CHARACTER SET UTF8,
    CHAMP50       INTEGER DEFAULT 0,
    CHAMP51       INTEGER DEFAULT 0,
    CHAMP52       INTEGER,
    CHAMP53       INTEGER,
    CHAMP54       CHAR(1) DEFAULT 'n',
    CHAMP55       CHAR(1) DEFAULT 'n',
    CHAMP56       CHAR(8),
    CHAMP57       TIMESTAMP,
    CHAMP58       VARCHAR(20) CHARACTER SET UTF8
);
__________________
Il n' y a de Pouvoir que le Savoir
freud est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/09/2008, 13h05   #4
Membre éprouvé
 
Inscription : février 2006
Messages : 426
Détails du profil
Informations personnelles :
Âge : 39

Informations forums :
Inscription : février 2006
Messages : 426
Points : 463
Points : 463
Une table d'une soixantaine de champs est, à mon avis, une erreur de modélisation. Alors si en plus tu rajoutes 2 champs de type BLOB, tu cours à la catastrophe en terme de temps de performance !
ddaime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/09/2008, 15h02   #5
Expert Confirmé

 
Homme Philippe Makowski
Consultant spécialité Firebird
Inscription : mai 2002
Messages : 2 215
Détails du profil
Informations personnelles :
Nom : Homme Philippe Makowski
Âge : 49
Localisation : France

Informations professionnelles :
Activité : Consultant spécialité Firebird
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 2 215
Points : 3 318
Points : 3 318
ce n'est pas la limite du nombre d'enregistrements qui peut poser problème, c'est la taille limite d'un enregistrement (64k)
un blob 8 octets; smallint 2; integer, float, date, time 4; bigint,double precision,timestamp 8; numeric,decimal 4 ou 8, char et varchar selon la taille et le jeu de caractère utilisé
__________________
Philippe Makowski
IBPhoenix - Firebird
Membre de l'April
makowski est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/09/2008, 15h06   #6
Membre éprouvé
 
Homme
Analyste-développeur
Inscription : mai 2002
Messages : 993
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Algérie

Informations professionnelles :
Activité : Analyste-développeur

Informations forums :
Inscription : mai 2002
Messages : 993
Points : 425
Points : 425
merci,

Citation:
tu cours à la catastrophe en terme de temps de performance !
Même pour une limite de 30 000 enregistrements ?
Pour un SGBD Serveur c'est peu non ?

Au plus je pourrais décomposer la table en deux mais la 2eme qui sera creer ne contiendra qu'une seule ligne de la 1ere alors à quoi ca me sert.
Si tu veux jeter un coup sur la table...je peux te l'envoyer.
__________________
Il n' y a de Pouvoir que le Savoir
freud est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/09/2008, 15h19   #7
Membre éprouvé
 
Homme
Analyste-développeur
Inscription : mai 2002
Messages : 993
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Algérie

Informations professionnelles :
Activité : Analyste-développeur

Informations forums :
Inscription : mai 2002
Messages : 993
Points : 425
Points : 425
justement c'est ce que je voulais savoir ce en quoi cela posait problème. La difficultés résiderait donc dans la limite d'un enregistrement qui est de 64 K. Et justement l'objet de mon post est à moitié clair Il s'agirait non pas de pourvoir déterminer le maximum d'enregistrements à insérer mais si ma table dépasse les 64 K et je voulais savoir si il y a un moyen (par sql) qui me permet de savoir exactement la taille d'enregistrement de ma taille.

Je vous remercie
__________________
Il n' y a de Pouvoir que le Savoir
freud est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/09/2008, 15h23   #8
Expert Confirmé

 
Homme Philippe Makowski
Consultant spécialité Firebird
Inscription : mai 2002
Messages : 2 215
Détails du profil
Informations personnelles :
Nom : Homme Philippe Makowski
Âge : 49
Localisation : France

Informations professionnelles :
Activité : Consultant spécialité Firebird
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 2 215
Points : 3 318
Points : 3 318
je t'ai donné les valeurs
mais tu peux t'aider de ça :
http://www.volny.cz/iprenosil/interb...calculator.htm
__________________
Philippe Makowski
IBPhoenix - Firebird
Membre de l'April
makowski est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/09/2008, 15h25   #9
Expert Confirmé

 
Homme Philippe Makowski
Consultant spécialité Firebird
Inscription : mai 2002
Messages : 2 215
Détails du profil
Informations personnelles :
Nom : Homme Philippe Makowski
Âge : 49
Localisation : France

Informations professionnelles :
Activité : Consultant spécialité Firebird
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 2 215
Points : 3 318
Points : 3 318
Citation:
Envoyé par ddaime Voir le message
tu cours à la catastrophe en terme de temps de performance !
bien sûr que non
__________________
Philippe Makowski
IBPhoenix - Firebird
Membre de l'April
makowski est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/09/2008, 15h41   #10
Membre éprouvé
 
Homme
Analyste-développeur
Inscription : mai 2002
Messages : 993
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Algérie

Informations professionnelles :
Activité : Analyste-développeur

Informations forums :
Inscription : mai 2002
Messages : 993
Points : 425
Points : 425
Merci Makowski,

Je calculerais donc la taille de l'enregistrement d'aprés ces valeurs et si c'est les champs CHAR/VARCHAR sont en UTF-8 faudra-t-il mutltiplier leur taille par 4 ?
__________________
Il n' y a de Pouvoir que le Savoir
freud est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/09/2008, 16h20   #11
Membre éprouvé
 
Homme
Analyste-développeur
Inscription : mai 2002
Messages : 993
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Algérie

Informations professionnelles :
Activité : Analyste-développeur

Informations forums :
Inscription : mai 2002
Messages : 993
Points : 425
Points : 425
Bon reflexion fait, j'abandonne l'UTF-8 je travaillerais avec l'ISO8859_1
ainsi, on est plus tranquille avec moins de complication.

Merci Makowski et Ddaime
__________________
Il n' y a de Pouvoir que le Savoir
freud est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h48.


 
 
 
 
Partenaires

Hébergement Web