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
Partager