|
Тема |
Re: Защо става това? [re: bla] |
|
Автор |
salle (Един такъв) |
|
Публикувано | 24.11.02 01:03 |
|
|
Раздели заявката на 2 и пусни EXPLAIN поотделно - след това провери и с истински данни. Вероятно ще се окаже, че това е по-доброто решение. Причината - имаш:
WHERE (...A...) OR (....B...)
Това е типичният случай в който UNION е най-естественото решение а и обикновено е по-бързо.
select Messages.ID, Body, Header, users.user as User, Boards.name, DatePost, Seen, Replyes, LastPost from Messages, Statistic, login.users, Boards where (Messages.ID = 1 and Statistic.ID = 1 and users.id = Messages.UserID and Boards.BID = Messages.Board)
UNION ALL
select Messages.ID, Body, Header, users.user as User, Boards.name, DatePost, Seen, Replyes, LastPost from Messages, Statistic, login.users, Boards where
(Messages.ID = 2 and Statistic.ID = 2 and users.id = Messages.UserID and Boards.BID = Messages.Board);
|
| |
|
|
|