SELECT t.compname, min(t2.version) FROM archdetails t
INNER JOIN svn3 b ON t.compname = b.compname
INNER JOIN archdetails t2 ON t.compname = t2.compname
WHERE ((b.revno = '270294' OR b.revno = 'r275869' OR b.revno = 'r393316'))
AND t.version = '1.6'
GROUP BY t.compname`
Tableau archdetails
:Sur quelles colonnes indexer pour rendre cette requête plus rapide?
Field | Type | Null | Key | Default | Extra
-------------------------+--------------+------+-----+---------+-------
name | varchar(15) | NO | | NULL |
compname | varchar(500) | NO | MUL | NULL |
sno | int(11) | NO | | NULL |
count | int(11) | NO | | NULL |
fdindex | int(11) | NO | | NULL |
version | varchar(10) | NO | | NULL |
sdate | date | NO | | NULL |
edate | date | NO | | NULL |
inFlat | int(11) | NO | | NULL |
inStar | int(11) | NO | | NULL |
inNostar | int(11) | NO | | NULL |
inReducedStar | int(11) | NO | | NULL |
Tableau svn3
:
Field | Type | Null | Key | Default | Extra
---------+---------------+------+-----+---------+------
name | varchar(20) | NO | MUL | NULL |
revno | varchar(10) | NO | MUL | NULL |
comp | varchar(1000) | NO | MUL | NULL |
compname | varchar(1000) | NO | | NA |
je index 1
sur compname version
dans archdetails
et 4
index sur svn3
sur revno
; revno, comp, compname
; comp, compname
; et name, revno, comp, compname
.
Les indices sur compname est de longueur 100.
La requête prend toujours 0.16 sec
pour exécuter ce qui est très cher pour mon but. Je n'ai pas beaucoup d'expérience avec les index et les index ci-dessus ont été créés avec les variables les plus souvent utilisées. S'il vous plaît conseiller sur la façon d'aller sur les index.
modifier Nice. Comment tu fais ça?. J'apprends encore à formater ici. – Gaurav
Quatre espaces au début d'une ligne feront un bloc de code, ou vous pouvez cliquer sur le bouton "010" dans la barre d'outils d'édition. Pour info, la case de point d'interrogation orange vif est un lien vers la feuille de contrôle de formatage: http://stackoverflow.com/editing-help Stack Overflow fait la mise en évidence de la syntaxe, mais j'ai nettoyé votre SQL à la main. –
Mon expérience avec mySql n'est pas bonne. Avez-vous considéré la version MS Sql Server Express? C'est gratuit, et permet DB jusqu'à 4 gig. Je suis passé à SQL Server et je l'ai trouvé beaucoup plus rapide. –