Выборка по дате и времени
Выборка по дате и времени
Привет всем!!!
Изначально при проектировании БД в таблице ZAKAZ было поле DATA типа DATE
Далее клиент захотел видеть время заказа (таксист).
Я ввел доп. поля TIMES типа TIME и DATATIME типа TIMESTAMP COMPUTED BY (DATA+TYME)
Создан индекс по полям DATA и TYME
Обращение к таблице через запрос:
select ....
from ZAKAZ
where (DATATIME >= '01.10.2010 09:00:00') and (DATATIME <= '31.10.2010 09:00:00')
Скорость выполнения запроса выросла до критичного значения.
Как мне оптимизировать обращение к таблице?
Спасибо.
Изначально при проектировании БД в таблице ZAKAZ было поле DATA типа DATE
Далее клиент захотел видеть время заказа (таксист).
Я ввел доп. поля TIMES типа TIME и DATATIME типа TIMESTAMP COMPUTED BY (DATA+TYME)
Создан индекс по полям DATA и TYME
Обращение к таблице через запрос:
select ....
from ZAKAZ
where (DATATIME >= '01.10.2010 09:00:00') and (DATATIME <= '31.10.2010 09:00:00')
Скорость выполнения запроса выросла до критичного значения.
Как мне оптимизировать обращение к таблице?
Спасибо.
-
- Заслуженный разработчик
- Сообщения: 1436
- Зарегистрирован: 15 сен 2005, 09:05
Re: Выборка по дате и времени
А зачем ты ввёл дополнительное поле вместо изменения типа уже существующего? Т.е. сам себе подложил свинью.
Re: Выборка по дате и времени
что-нибудь на сайте прочитать про оптимизатор. При таком использовании computed by столбца никакие индексы использоваться не будут. Вы и сами могли бы увидеть это в плане запроса.Как мне оптимизировать обращение к таблице?
Re: Выборка по дате и времени
Я уже понял про проблему с COMPUTED
Есть ли возможность поправить "малой кровью" без перестроки всей таблицы?
Есть ли возможность поправить "малой кровью" без перестроки всей таблицы?
-
- Заслуженный разработчик
- Сообщения: 1436
- Зарегистрирован: 15 сен 2005, 09:05
Re: Выборка по дате и времени
ALTER TABLE ZAKAZ ALTER DATA TYPE TIMESTAMP;
Re: Выборка по дате и времени
I am thank you!!!Dimitry Sibiryakov писал(а):ALTER TABLE ZAKAZ ALTER DATA TYPE TIMESTAMP;