|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() |
Bonjour,
Je ne suis sans doute pas au bon endroit, mais j'ai une question qui me tarraude l'esprit depuis quelque temps. Nous avons un applicatif métier développé sous Delphi avec Firebird 2.1.5 par un éditeur logiciel. Sauf erreur de ma part, et selon mon expérience dans le domaine de la conception de base de données (environs 16 années), est ce qu'une âme avertie pourrait m'éclairer et m'expliquer la pertinence de quelques index placés sur une table donc voici la description : Table XXXXX ID Bigint not null DE Varchar(255) A Varchar(1000) SUJET Varchar(1000) CORPS Varchar(1000) PIECEJOINTE Varchar(100) TYP_ENVO Integer COD_SIT Varchar(10) not null SMTP Varchar(100) MODE Integer REFERENCE Varchar(100) PREFIXE Varchar(50) COD_PART Varchar(20) NUM_PIECE Varchar(50) TYP_PIECE Integer TYP_PART Integer TYP_TRANS Integer TYP_COMPL Integer FLAGMULTIBL Integer TIMER_ENVOI Time DATE_DEMANDE Timestamp DATE_PROG Date DATE_ENVOI Timestamp PARAMREPORTNAME1 Varchar(50) PARAMREPORTVALUE1 Varchar(50) PARAMREPORTNAME2 Varchar(50) PARAMREPORTVALUE2 Varchar(50) PARAMREPORTNAME3 Varchar(50) PARAMREPORTVALUE3 Varchar(50) PARAMREPORTNAME4 Varchar(50) PARAMREPORTVALUE4 Varchar(50) PARAMREPORTNAME5 Varchar(50) PARAMREPORTVALUE5 Varchar(50) PARAMREPORTNAME6 Varchar(50) PARAMREPORTVALUE6 Varchar(25000) PARAMREPORTNAME7 Varchar(50) PARAMREPORTVALUE7 Varchar(50) PARAMREPORTNAME8 Varchar(50) PARAMREPORTVALUE8 Varchar(50) PARAMREPORTNAME9 Varchar(50) PARAMREPORTVALUE9 Varchar(50) PARAMREPORTNAME10 Varchar(50) PARAMREPORTVALUE10 Varchar(50) ERREUR Integer not null NB_ESSAI Integer not null Indexes IDX_PART_MAILFAX_QUEUE1 ASC => COD_SIT, MODE, NUM_PIECE, TYP_PIECE, TYP_PART, DATE_ENVOI IDX_PART_MAILFAX_QUEUE2 ASC => COD_SIT, MODE, NUM_PIECE, TYP_PIECE, TYP_PART, DATE_ENVOI, COD_PART, A IDX_PART_MAILFAX_QUEUE3 ASC => MODE, TIMER_ENVOI, DATE_ENVOI IDX_PART_MAILFAX_QUEUE4 ASC => A, COD_SIT, COD_PART, NUM_PIECE, TYP_PIECE, TYP_PART, DATE_ENVOI IDX_PART_MAILFAX_QUEUE5 ASC => DE, DATE_DEMANDE PART_MAILFAX_QUEUE_IDX1 ASC => DATE_ENVOI, MODE PART_MAILFAX_QUEUE_IDX2 ASC => ERREUR PK_PART_MAILFAX_QUEUE ASC => ID_MAILFAX_QUEUE, COD_SIT Comment peut on même simplement envisager de placer dans un index composé un champ de type varchar(1000) ? Je ne sais pas comment optimiser dans une telle structure afin d'améliorer les performances globales. Si quelqu'un a une idée, je suis preneur. Michel PS : juste pour information, il y environ 350000 enregistrements dans cette table. |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com