Erick,
Monday, July 29, 2002, 3:58:36 AM, you wrote:

EP> i have a couple of questions about my SQL query. 

EP> 1. if i want all rows in table 1 that may or may not have a counterpart
EP> row in table 2, i use LEFT JOIN. this is HORRIBLY slow! why? if i make it
EP> a simple join (i.e., without the words "LEFT JOIN") then it is a little
EP> faster. 

EP> 2. secondly, i need to have an OR in my join clause. 

EP>    where 
EP>      (table1.col1 = table2.col1 or table1.col2 = table2.col1) 

EP>  this is for a search procedure. if i remove the OR, it is much faster.
EP> how can i get around this? i need to have the OR because of the search
EP> engine in the website, but i need it to be fast. 

EP> 3. based on the OR condition, what kind of indices can i use? 

If your select is slow, use EXPLAIN SELECT to get info about your
statement:
          http://www.mysql.com/doc/E/X/EXPLAIN.html

Besides you didn't gave any info about your tables stucture, haven't provided
your query.

Check also the following sections of the manual which some info about
index usage, LEFT JOIN and WHERE clause :
          http://www.mysql.com/doc/M/y/MySQL_indexes.html
          http://www.mysql.com/doc/W/h/Where_optimisations.html
          http://www.mysql.com/doc/L/E/LEFT_JOIN_optimisation.html






-- 
For technical support contracts, goto https://order.mysql.com/?ref=ensita
This email is sponsored by Ensita.net http://www.ensita.net/
   __  ___     ___ ____  __
  /  |/  /_ __/ __/ __ \/ /    Egor Egorov
 / /|_/ / // /\ \/ /_/ / /__   [EMAIL PROTECTED]
/_/  /_/\_, /___/\___\_\___/   MySQL AB / Ensita.net
       <___/   www.mysql.com



---------------------------------------------------------------------
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/           (the list archive)

To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php

Reply via email to