Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Administration
Administration Forum d'entraide sur l'administration du serveur Oracle
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 18/12/2011, 14h55   #1
Membre éprouvé
 
Avatar de totoche
 
Inscription : janvier 2004
Messages : 1 071
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 1 071
Points : 478
Points : 478
Par défaut Choix de db_block_size

Bonjour,

Je dois créer une table à laquelle les utilisateurs vont avoir accès par requête mono table(pas de jointure).
Chaque tuple de la table pèse entre 25 et 35 octets (4 attributs).
Plusieurs milliers de lignes vont alimentées cette tables.
Je pense donc créer un tablespace pour cette table, avec des block size de 32ko (DB_32K_CACHE_SIZE)
Cette table sera en IOT.

Qu'en pensez vous

Merci
__________________
La patience est un arbre aux racines amères, mais aux fruits ci-doux.
totoche est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/12/2011, 17h02   #2
Rédacteur
 
Inscription : décembre 2002
Messages : 2 389
Détails du profil
Informations personnelles :
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : décembre 2002
Messages : 2 389
Points : 3 276
Points : 3 276
De ce que vous dites, rien à mon sens ne justifie l'usage de blocs de grande taille, sauf si vous comptez faire des lectures intégrales de cette table, sans passer par index.

De plus, Oracle ne recommande pas d'utiliser des tablespaces ayant des tailles de bloc différentes ; cette commodité est officiellement réservée à l'accueil des tablespaces transportables venant d'une base utilisant une taille de bloc différente.
__________________
Consultant / formateur Oracle indépendant
Certifié OCP 10g et 11g, sécurité 11g
Pomalaix est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 19/12/2011, 18h21   #3
Membre Expert
 
Avatar de pachot
 
Homme Franck Pachot
DBA Oracle
Inscription : novembre 2007
Messages : 706
Détails du profil
Informations personnelles :
Nom : Homme Franck Pachot
Âge : 41
Localisation : Suisse

Informations professionnelles :
Activité : DBA Oracle
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : novembre 2007
Messages : 706
Points : 1 645
Points : 1 645
Bonjour,
Je suppose que l'idée est d'avoir des blocs très larges dans le but de diminuer la hauteur de l'index (IOT). Il faudrait être sûr que le gain en performance soit important pour justifier le fait d'avoir des tailles de bloc différents dans la base.
Cordialement,
Franck.
__________________
A lire sur mon blog Oracle - Articles d'Experts des articles traduits en français de Jonathan Lewis, Tom Kyte, Doug Burns, Cary Millsap, Greg Rahn ...
pachot est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/12/2011, 18h33   #4
Membre Expert
 
Inscription : août 2009
Messages : 779
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 779
Points : 1 098
Points : 1 098
Citation:
Envoyé par pachot Voir le message
Bonjour,
Je suppose que l'idée est d'avoir des blocs très larges dans le but de diminuer la hauteur de l'index (IOT). Il faudrait être sûr que le gain en performance soit important pour justifier le fait d'avoir des tailles de bloc différents dans la base.
Cordialement,
Franck.
Le but doit plutôt être de ne pas avoir de l'overflow, effectivement pour ne faire que du parcours de l'index ...
J'aurais tendance à penser que si une table a besoin de ça, c'est qu'elle n'est pas idéale pour une IOT.
Rei Ichido est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/12/2011, 18h43   #5
Membre Expert
 
Avatar de pachot
 
Homme Franck Pachot
DBA Oracle
Inscription : novembre 2007
Messages : 706
Détails du profil
Informations personnelles :
Nom : Homme Franck Pachot
Âge : 41
Localisation : Suisse

Informations professionnelles :
Activité : DBA Oracle
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : novembre 2007
Messages : 706
Points : 1 645
Points : 1 645
Bonjour,
Citation:
Envoyé par Rei Ichido Voir le message
Le but doit plutôt être de ne pas avoir de l'overflow
J'en doute. Avec une clause INCLUDING ça devrait être facile de ne pas avoir d'overflow pour des lignes de 35 octets...
Cordialement,
Franck.
__________________
A lire sur mon blog Oracle - Articles d'Experts des articles traduits en français de Jonathan Lewis, Tom Kyte, Doug Burns, Cary Millsap, Greg Rahn ...
pachot est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/12/2011, 18h49   #6
Modérateur
 
Homme Fabien
Ingénieur d'études en décisionnel
Inscription : septembre 2008
Messages : 5 686
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 34
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études en décisionnel
Secteur : Arts - Culture

Informations forums :
Inscription : septembre 2008
Messages : 5 686
Points : 10 435
Points : 10 435
Envoyer un message via ICQ à Waldar Envoyer un message via Skype™ à Waldar
Citation:
Envoyé par totoche Voir le message
Chaque tuple de la table pèse entre 25 et 35 octets (4 attributs).
Plusieurs milliers de lignes vont alimentées cette tables.
Avec un million de lignes, votre table pèsera autour 50 Mo, c'est à dire presque rien du tout.

Quant au choix de l'IOT, si vos appels à cette table passe toujours par la clef primaire, pourquoi pas. Si vous n'en êtes pas certain, restez en organisation heap.
__________________
Email : http://scr.im/waldar
Waldar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/12/2011, 19h10   #7
Membre Expert
 
Inscription : août 2009
Messages : 779
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 779
Points : 1 098
Points : 1 098
Citation:
Envoyé par pachot Voir le message
Bonjour,

J'en doute. Avec une clause INCLUDING ça devrait être facile de ne pas avoir d'overflow pour des lignes de 35 octets...
Cordialement,
Franck.
Au temps pour moi, j'avais zappé la partie descriptive des tuples ...
Rei Ichido est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/12/2011, 22h11   #8
Membre éprouvé
 
Avatar de totoche
 
Inscription : janvier 2004
Messages : 1 071
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 1 071
Points : 478
Points : 478
Bonjour,

Merci de vos réponses, en effet l'objectif est de diminuer le nombre d'E/S.

Cependant il me manque une spec... les requêtes auront-elles comme unique prédicat la clé primaire... Si tel est le cas je pars pour faire une IOT.

Si au final ma Table n'est pas en IO (predicat qui met en oeuvre les index secondaires), je pensais judicieux de créer un tablespace index de taille DB_4K_CACHE_SIZE, or vos réserves sur
Citation:
tailles de bloc différentes
me laisse penser que ce n'est pas la cas, quitte a ce que le bloc ne soit que partiellement rempli. (db_block_size 8ko)
__________________
La patience est un arbre aux racines amères, mais aux fruits ci-doux.
totoche est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h00.


 
 
 
 
Partenaires

Hébergement Web