IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bases de données Delphi Discussion :

Recherche dans une table a 3 index


Sujet :

Bases de données Delphi

  1. #1
    Nouveau membre du Club
    Inscrit en
    Août 2007
    Messages
    159
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 159
    Points : 37
    Points
    37
    Par défaut Recherche dans une table a 3 index
    j'ai 2 table Sqlit3 indexé sur 3 champ comme suit :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    CREATE TABLE IF NOT EXISTS tblSystems (id INTEGER  PRIMARY KEY NOT NULL,Name TEXT  NOT NULL,ProviderID TEXT  NOT NULL,KeyIndex TEXT  NOT NULL,Key TEXT  NOT NULL,Comments TEXT  NULL) ;
    CREATE UNIQUE INDEX IF NOT EXISTS idx_keys ON tblSystems(Name  DESC,ProviderID  DESC,KeyIndex  DESC,Key  DESC) ;

    le 2eme
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    CREATE TABLE IF NOT EXISTS tblCache (id INTEGER  PRIMARY KEY NOT NULL,ChannelName TEXT  NOT NULL,SID NUMERIC  NOT NULL,TID NUMERIC  NOT NULL,PMT NUMERIC  NOT NULL,ECM NUMERIC'+' NOT NULL,ProviderId TEXT  NULL,CAID TEXT  NULL,ConstantDCW TEXT  NULL,BISSkey TEXT  NULL) ;
     
    CREATE UNIQUE INDEX IF NOT EXISTS IDX_TBLCACHE_sid_tid_pmt ON tblCache(SID  DESC,TID  DESC,PMT  DESC) ;

    je voudrai savoir quel est le moyen le plus rapide de trouver un enregistrement on ce basant sur les index (les index sont connus)

    pour le moment j'utilise Locate mais je ne sais pas si c'est le moyen le plus rapide car il marche aussi sur les base non indexé

    et merci d'avance

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 486
    Points : 24 962
    Points
    24 962
    Par défaut
    SQLite je ne connais pas !

    Mais si les composants utilisés sont conformes aux spécifications Embarcadero, je te conseille la lecture de Utilisation d'index pour chercher des enregistrements
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Membre confirmé Avatar de JustMe
    Inscrit en
    Juillet 2002
    Messages
    479
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 479
    Points : 593
    Points
    593
    Par défaut
    Dans ton cas on dit un index sur trois champs, La méthode locate si elle trouve que tes colonnes de recherche sont indexés elle va l'utilisé donc oui elle est rapide si elle utilise un index.
    <On fait la science avec des faits, comme on fait une maison avec des pierres : mais une accumulation de faits n'est pas plus une science qu'un tas de pierres n'est une maison> **Poincaré**

  4. #4
    Nouveau membre du Club
    Inscrit en
    Août 2007
    Messages
    159
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 159
    Points : 37
    Points
    37
    Par défaut
    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Recherche dans une table non indexée
    Par LuckyLuke56 dans le forum Bases de données
    Réponses: 4
    Dernier message: 25/05/2009, 11h29
  2. Recherche dans une table via un formulaire
    Par Z[ee]k dans le forum Access
    Réponses: 3
    Dernier message: 05/06/2006, 11h14
  3. [VB6] Erreur durant la recherche dans une table
    Par quaife dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 03/04/2006, 17h21
  4. Recherche dans une table
    Par Fredo67 dans le forum Access
    Réponses: 2
    Dernier message: 28/02/2006, 17h21
  5. recherche dans une table Access en ASP
    Par D-D dans le forum ASP
    Réponses: 3
    Dernier message: 09/06/2004, 10h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo