une table de 325000 enregistrement

une table de 325000 enregistrement - SQL/NoSQL - Programmation

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

Reply

Marsh Posté le 24-05-2004 à 09:40:34   

Reply

Marsh Posté le 24-05-2004 à 09:42:09    

ini_set("max_exec_time", 0);

Reply

Marsh Posté le 24-05-2004 à 09:49:02    

merci pour votre réponse.
 
en fait j'execute mes requetes à partir de unix

Reply

Marsh Posté le 24-05-2004 à 10:11:56    

Penses à mettre des index sur les deux tables.

Reply

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

Reply

Marsh Posté le 24-05-2004 à 10:26:37    

ben dans ton script tu met ce que je t'ai ecrit [:xx_xx]

Reply

Marsh Posté le 24-05-2004 à 10:34:15    

oui,mais moi je ne travail pas avec php, je execute mes requetes dans unix!

Reply

Marsh Posté le 24-05-2004 à 10:35:07    

eux tu t'attends à quoi avec 325000 enregistrements ? à un résultat instantané ?

Reply

Marsh Posté le 24-05-2004 à 10:39:22    

pas instantanément !  
 
je pense que avec unix est plus efficace

Reply

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  

Reply

Marsh Posté le 24-05-2004 à 10:43:27   

Reply

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 ?

Reply

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 :D
enfin ça dépend sur quelle machine ça tourne :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed