Помогите оптимизировать запрос к mysql

Fidget

Новичок
Помогите оптимизировать запрос к mysql

В общем пишу скрипт для отображения телепрограммы на сайте.

Структура базы следующая:
PHP:
| id | date | time1 | time2 | title |

date - дата
time1 - начало телепередачи
time2 - окончание телепередачи
title -   название телепередачи
пробема состоит в следующем...

при выводе телепрограмма за конкретный день

я использую сдедующий запрос:
select * from tv_main where date = '2006-02-11' order by time1

при этом выводятся все передачи до 23:59...
а обычно телепрограмма за конкретный день захватывает еще и часть следующего дня... где-то часов до 3:00 ночи.

для этого я использую еще один запрос:
select * from tv_main where date = '2006-02-12' and time1 < '03:00' order by time1

Вопрос заключается в следующем:
Можно как-нибуди эти 2 запроса объеденить в один.
Или мож кто подскажет другой алгоритм вывода.

Зараннее всем спасибо.
 

MadMike

Новичок
white phoenix, неа. or не рулит ни в коем случае. Union select ;)
Потому что при таком OR'е перестают полностью юзаться индексы. А при UNION'е - все юзается нормально.
 

chira

Новичок
Fidget
time сделать не текстовым, а DATETIME и использовать BETWEEN
Код:
select * 
from tv_main 
where time1 BETWEEN '2006-02-11 04:00:00' and '2006-02-12 03:00:00'
order by time1
поле date будет говорить :- к какому дню относятся передачи
 
Сверху