Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.08.26;
Скачать: CL | DM;

Вниз

Скорость выполнения запроса   Найти похожие ветки 

 
tytus ©   (2007-07-31 09:09) [0]

Доброе утро мастера. Подскажите, в каком случае будет быстрее выполняться выборка по полю , если оно типа Date или типа varchar2(10) =(30.07.2007)??


 
Сергей М. ©   (2007-07-31 09:21) [1]

Для ответа на вопрос недостаточно условий выборки.


 
Sergey13 ©   (2007-07-31 09:31) [2]

> [0] tytus ©   (31.07.07 09:09)

Быстрее (ощутимо) будет поиск по индексированному полю. Тип поля если и оказывает влияние, то не особо заметно.


 
SlymRO ©   (2007-07-31 09:34) [3]

Date - 8 байт
varchar(10) - 10 байт
при сравнении 8байт быстрее чем 10байт на 20% :)


 
SlymRO ©   (2007-07-31 09:35) [4]

и это без учета дисковых операций, с ними также на 20 %


 
Сергей М. ©   (2007-07-31 09:39) [5]


> Date - 8 байт
> varchar(10) - 10 байт


Это же зависит от конкретной СУБД.
В одной так, в другой м.б. иначе.


 
tytus ©   (2007-07-31 09:40) [6]

select a.FDate, a.FName... from t_mytable a
where a.FName="что-то там..."
and a.FDate between "01.07.2007" and "30.07.2007"
-- это эжели текстовое поле
или
and a.FDate>=To_Date("01.07.2007") and a.FDate<=To_Date("30.07.2007")
Вот прим. такого вида


 
Sergey13 ©   (2007-07-31 09:41) [7]

> [0] tytus ©   (31.07.07 09:09)

Если вопрос стоит о хранении именно даты, то однозначно дату и надо использовать.


 
Сергей М. ©   (2007-07-31 09:45) [8]


> a.FDate between "01.07.2007" and "30.07.2007"
> -- это эжели текстовое поле


Такая конструкция в общем случае даст неверную выборку.


 
tytus ©   (2007-07-31 09:45) [9]

>Sergey13 ©   (31.07.07 09:41) [7]
Ну, хранение оно по умолчанию... а вот выборка - дело другое.
Дак где шустрее? Подразумевается, что в таблице будет около 100 000 записей.


 
tytus ©   (2007-07-31 09:47) [10]

>Сергей М. ©   (31.07.07 09:45) [8]
Да вы правы. Может выгрести и 01.06.2007 и 01.07.2007.
Так что - хранить как дату? Мне ведь скорость тоже важна....


 
Sergey13 ©   (2007-07-31 09:49) [11]

> [9] tytus ©   (31.07.07 09:45)
> Ну, хранение оно по умолчанию... а вот выборка - дело другое.

Не понял я этой фразы, если честно, хотя слова все знакомые. 8-)


 
Сергей М. ©   (2007-07-31 09:58) [12]


> tytus ©   (31.07.07 09:47) [10]


> хранить как дату?


Разумеется !


Мне ведь скорость тоже важна


"Скорость" достигается иными способами - индексы, план запроса, правильное использование транзакционного механизма и т.д. и т.п.


 
tytus ©   (2007-07-31 10:04) [13]

>Все спасибо, будем хранить как Дату!
До скорого -))


 
Desdechado ©   (2007-07-31 15:41) [14]

> Такая конструкция в общем случае даст неверную выборку.
Добавлю, что вторая конструкция - тоже может дать неверную выборку, т.к. не указан формат приведения к дате.
А вообще - использовать параметры.



Страницы: 1 вся ветка

Текущий архив: 2007.08.26;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.023 c
2-1185638832
Юра
2007-07-28 20:07
2007.08.26
Современные игры


11-1154451905
Stargazer
2006-08-01 21:05
2007.08.26
MDI глючит


6-1168716280
MyJIbT
2007-01-13 22:24
2007.08.26
Изменения IP


15-1180857262
Zagaevskiy
2007-06-03 11:54
2007.08.26
Кто что думает?


15-1185470143
atruhin
2007-07-26 21:15
2007.08.26
Какой максимальный размер параметра реестра типа REG_SZ