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
Publicité
Posté le 24-05-2004 à 09:40:34
Profil supprimé
Posté le 24-05-2004 à 09:42:09
ini_set("max_exec_time", 0);
fasraoui
Posté le 24-05-2004 à 09:49:02
merci pour votre réponse.
en fait j'execute mes requetes à partir de unix
nono973
Posté le 24-05-2004 à 10:11:56
Penses à mettre des index sur les deux tables.
fasraoui
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
Profil supprimé
Posté le 24-05-2004 à 10:26:37
ben dans ton script tu met ce que je t'ai ecrit
fasraoui
Posté le 24-05-2004 à 10:34:15
oui,mais moi je ne travail pas avec php, je execute mes requetes dans unix!
Taz
bisounours-codeur
Posté le 24-05-2004 à 10:35:07
eux tu t'attends à quoi avec 325000 enregistrements ? à un résultat instantané ?
fasraoui
Posté le 24-05-2004 à 10:39:22
pas instantanément !
je pense que avec unix est plus efficace
vttman2
Je suis Open ...
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
Publicité
Posté le 24-05-2004 à 10:43:27
fasraoui
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 ?
Beegee
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