phpbar.de logo

Mailinglisten-Archive

Join problem mit fulltext

Join problem mit fulltext

Sebastian Tobias Mendel genannt Mendelsohn lists at sebastianmendel.de
Mit Sep 3 16:06:04 CEST 2003


> hab da mal eine frage zu einem Left Join über 3 Tabellen!
> Hier mal der Join komplett:
> 
> select count(*), b.catParent from tblCats as a left join tblCats as b on
> (b.catParent=a.catChild) left join tblSearch_quick
> on(sqCategory=b.catChild), tblItems where a.catParent=3 and match (sqTitle,
> sqDesc) AGAINST ('spielfilm ' in boolean mode) and itNum = sqNum group by
> b.catParent
> 
> dieser Join braucht ganze 1m 55 sec
> 
> der selber join ohne den Fulltext suche dauert nur 1.64 sec
> 
> myisamchk -r habe ich heute durchgeführt!
> 
> hier mal der explain:
> +-----------------+----------+---------------+--------------+---------+-----
> -------+------+----------------------------------------------+
> | table           | type     | possible_keys | key          | key_len | ref
> | rows | Extra                                        |
> +-----------------+----------+---------------+--------------+---------+-----
> -------+------+----------------------------------------------+
> | a               | ref      | catParent     | catParent    |           4 |
> const        |    7  | Using where; Using temporary; Using filesort |
> | b               | ref      | catParent     | catParent    |           4 |
> a.catChild |   10 |                                              |
> | tblSearch_quick | fulltext | sqCategory    | Beschreibung |
> 0 |       |    1 | Using where                                  |
> +-----------------+----------+---------------+--------------+---------+-----
> -------+------+----------------------------------------------+

für mich ein total verhauenes query...


    SELECT COUNT(*),
           b.catParent
      FROM tblCats AS a
LEFT JOIN tblCats AS b
        ON b.catParent = a.catChild
LEFT JOIN tblSearch_quick
        ON sqCategory = b.catChild,
           tblItems
     WHERE a.catParent = 3
       AND MATCH (sqTitle, sqDesc) AGAINST ('spielfilm ' in boolean mode)
       AND itNum = sqNum
  GROUP BY b.catParent


vielleicht könntest du noch die tabellen struktur mit schicken damit man 
überhaupt sieht was hier passiert...

-- 
Sebastian Mendel

www.sebastianmendel.de
www.tekkno4u.de
www.nofetish.com

-- 
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql 


php::bar PHP Wiki   -   Listenarchive