une table de 325000 enregistrement - SQL/NoSQL - Programmation
Marsh Posté le 24-05-2004 à 09:49:02
merci pour votre réponse.
en fait j'execute mes requetes à partir de unix
Marsh Posté le 24-05-2004 à 10:21:48
j'ai deja mis des index,et quand je fait une requete comme ça :
SELECT _id FROM table_1 where _id in (SELECT _id FROM table_2) ORDER BY _id ASC
et ça prend enormement de temps!
est que il ya un moyen avec unix par exemple ?
merci d'avence
Marsh Posté le 24-05-2004 à 10:34:15
oui,mais moi je ne travail pas avec php, je execute mes requetes dans unix!
Marsh Posté le 24-05-2004 à 10:35:07
eux tu t'attends à quoi avec 325000 enregistrements ? à un résultat instantané ?
Marsh Posté le 24-05-2004 à 10:39:22
pas instantanément !
je pense que avec unix est plus efficace
Marsh Posté le 24-05-2004 à 10:43:27
Pourquoi le in dans ton cas ?
SELECT _id FROM table_1 where _id in (SELECT _id FROM table_2) ORDER BY _id ASC
Essaie plutôt
SELECT table_1._id FROM table_1, table_2
where table_1._id = table_2._id
ORDER BY table_1._id ASC
ou mieux
SELECT table_1._id
FROM table_1 inner join table_2
on table_1._id = table_2._id
ORDER BY table_1._id ASC
Marsh Posté le 24-05-2004 à 10:51:15
merci,vos réquetes sont effecacs ,
en effet je voudrai chercher les _id qui sont dans la table table_1 et qui ne se trouvent pas dans la table_2 ?
Marsh Posté le 24-05-2004 à 17:14:56
pour ça, il faut faire une jointure externe (LEFT JOIN) avec un test à NULL alors ...
l'order by doit être assez coûteux aussi
enfin ça dépend sur quelle machine ça tourne
Marsh Posté le 24-05-2004 à 09:40:34
bojour,
j'ai deux tableau de taille 325000 ligne chacun, et quand je volais fair des joignture entre eux ,le serveur ne repond pas ! comment je peut fair ?
merci d'avance