How can I optimize this query? It is taking 4.8362 sec (3 rows returned).
Here's the query:
SELECT DISTINCT my_favourites.id, my_favourites.type,
IF (
strcmp( my_favourites.type, 'House' ) ,
IF (
strcmp( my_favourites.type, 'Land' ) , buildings.address, lands.address
), houses.address
),
IF (
strcmp( my_favourites.type, 'House' ) ,
IF (
strcmp( my_favourites.type, 'Land' ) , buildings.price, lands.price
), houses.price
),
IF (
strcmp( my_favourites.type, 'House' ) ,
IF (
strcmp( my_favourites.type, 'Land' ) ,
IF (
strcmp( buildings.currency, 'D' ) , 'Lps.', 'US$'
),
IF (
strcmp( lands.currency, 'D' ) , 'Lps.', 'US$'
)
),
IF (
strcmp( houses.currency, 'D' ) , 'Lps.', 'US$'
)
), cities.name, states.name,
IF (
strcmp( my_favourites.type, 'House' ) ,
IF (
strcmp( my_favourites.type, 'Land' ) ,
IF (
strcmp( buildings.type_transaction, 'V' ) , 'Rental', 'Sale'
),
IF (
strcmp( lands.type_transaction, 'V' ) , 'Rental', 'Sale'
)
),
IF (
strcmp( houses.type_transaction, 'V' ) , 'Rental', 'Sale'
)
),
IF (
strcmp( my_favourites.type, 'House' ) ,
IF (
strcmp( my_favourites.type, 'Land' ) , 'buildings', 'lands'
), 'houses'
), my_favourites.id,
IF (
strcmp( my_favourites.type, 'House' ) ,
IF (
strcmp( my_favourites.type, 'Land' ) ,
IF (
strcmp( buildings.imagen, 'noimage.jpg' ) , buildings.imagen, 'noimage_thumb.jpg'
),
IF (
strcmp( lands.imagen, 'noimage.jpg' ) , lands.imagen, 'noimage_thumb.jpg'
)
),
IF (
strcmp( houses.imagen, 'noimage.jpg' ) , houses.imagen, 'noimage_thumb.jpg'
)
)
FROM my_favourites, buildings, houses, lands, cities, states
WHERE my_favourites.email = 'myemail@xyz.com' AND
IF (
strcmp( my_favourites.type, 'House' ) ,
IF (
strcmp( my_favourites.type, 'Land' ) , buildings.id = my_favourites.id, lands.id = my_favourites.id
), houses.id = my_favourites.id
) AND
IF (
strcmp( my_favourites.type, 'House' ) ,
IF (
strcmp( my_favourites.type, 'Land' ) , buildings.id_city = cities.id, lands.id_city = cities.id
), houses.id_city = cities.id
) AND cities.id_state = states.id
Thanks in advance 🙂