phpbar.de logo

Mailinglisten-Archive

[php] [OT?] MySql benutzt nicht meinen Key - kann ich es zwingen?:)

[php] [OT?] MySql benutzt nicht meinen Key - kann ich es zwingen?:)

Daniel Nolte phpbar at webvector.de
Die Mar 23 19:11:04 CET 2004


Hi Liste,

ich bin noch neu auf der Liste, ist hier eine Vorstellung üblich? :-)

Nun zu meiner Frage, ich hoffe sie ist nicht zu OT.
Ich habe leider ein kleines Problem mit einer Query (MySql)

SELECT
        static_building.iSBuildingId,
        static_building.strSBuildingName,
        static_building.iSBuildingTs,
        static_building_buy.*
FROM
        static_building,
        building,
        research,
        static_building_buy

WHERE
         (  building._iUserid = 1
            AND building._iLocationId = 2
            AND building.iBuildingStatus = 2 )

     AND (  research._iUserId = 1
            AND research.iResearchStatus = 2 )

     AND (  static_building._iSResearchId = research._iSResearchId
            AND static_building.iSBuildingParent = building._iSBuildingId )
     AND (  
            static_building_buy._iSBuildingId = 
static_building.iSBuildingId )

Nun zeigt mir ein EXPLAIN:
Das bei 'research' als Type ref hab, bei 'building' eq_ref und bei 
'static_building_buy' ebenfalls eq_ref - bis hier ist alles wunderbar,
nur leider hat static_building als type "all", was mich wundert, da ein 
Index über 2 collums ( _iSResearchId und iSBuildingParent ) liegt.
Oder sollte mich das nicht wundern? Kann ich vielleicht irgendwie den 
Key 'forcen' den Mysql nutzen soll?

( Wer die Query in bunt und das komplette Explain sehen möchte -> 
http://dev.wv-net.de/ )

bye
Daniel



php::bar PHP Wiki   -   Listenarchive