Or ή union

Συζητήσεις για την βάση δεδομένων MySQL και το phpMyAdmin

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
Άβαταρ μέλους
MeTaL-RoY
Δημοσιεύσεις: 67
Εγγραφή: 12 Μαρ 2003 16:58
Τοποθεσία: Athens
Επικοινωνία:

Or ή union

Δημοσίευση από MeTaL-RoY » 14 Αύγ 2007 18:03

Καλησπέρα θα ήθελα τη γνώμη σας για το παρακάτω MySQL statement.

επειδή ο πίνακας rfq_cat1 έχει πάραπολλές γραμμές με ενδιαφέρει η μέγιστη απόδοση. Γι αυτό κάτω από κάθε statement σας δίνω και το explain.


SELECT * FROM rfq_cat1 where (region = 0) limit 0,4
UNION ALL
(SELECT * FROM rfq_cat1 where (region = 10 AND country = 0) limit 0,4)
UNION ALL
(SELECT * FROM rfq_cat1 where (region = 10 AND country = 919) limit 0,4);


id select_type table type possible_keys Key Key_len ref rows Extra

1 PRIMARY rfq_cat1 ref RegionCountry_1 RegionCountry_1 1 const 1 Using where
2 UNION rfq_cat1 ref RegionCountry_1 RegionCountry_1 3 const,const 1 Using where
3 UNION rfq_cat1 ref RegionCountry_1 RegionCountry_1 3 const,const 1 Using where
NULL UNION RESULT <union1,2,3> ALL NULL NULL NULL NULL NULL



SELECT *
FROM rfq_cat1 FORCE INDEX (RegionCountry_1)
where (region = 0) OR (region = 10 AND country = 0) OR (region = 10 AND country = 919)
limit 0,10;


id select_type table type possible_keys Key Key_len ref rows Extra

1 SIMPLE rfq_cat1 range RegionCountry_1 RegionCountry_1 3 NULL 3 Using where



Ευχαριστώ προκαταβολικά.

Άβαταρ μέλους
MeTaL-RoY
Δημοσιεύσεις: 67
Εγγραφή: 12 Μαρ 2003 16:58
Τοποθεσία: Athens
Επικοινωνία:

Or ή union

Δημοσίευση από MeTaL-RoY » 14 Αύγ 2007 18:12

ξέχασα να πώ ότι το index είναι περιλαμβάνει το region,country...

Θέλω να ξέρω αν είναι πιο αποδοτικό το να χρησιμοποιήσω unions ή OR...

Άβαταρ μέλους
skeftomilos
Script Master
Δημοσιεύσεις: 2888
Εγγραφή: 07 Ιαν 2005 07:22
Τοποθεσία: Αθήνα

Or ή union

Δημοσίευση από skeftomilos » 14 Αύγ 2007 19:41

Υποθέτω το OR, αλλά γιατί δε δοκιμάζεις και τα δύο για να είσαι σίγουρος; Αν οι πίνακες δεν είναι φορτωμένοι ακόμα με data, βάλε dummy.
The pure and simple truth is rarely pure and never simple. Ο μη νους δε σκέπτεται μη σκέψεις για το τίποτα.

Άβαταρ μέλους
MeTaL-RoY
Δημοσιεύσεις: 67
Εγγραφή: 12 Μαρ 2003 16:58
Τοποθεσία: Athens
Επικοινωνία:

Or ή union

Δημοσίευση από MeTaL-RoY » 15 Αύγ 2007 22:42

το OR είναι πιο γρήγορο με απειροελάχιστη διαφορά. ευχαριστώ για τα tips

Απάντηση

Επιστροφή στο “MySQL”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες