Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2009.10.18;
Скачать: [xml.tar.bz2];

Вниз

checksum   Найти похожие ветки 

 
Sergey2   (2009-08-13 17:05) [0]

Есть таблица в которой 10.000.000 записей. Необходимо выбирать из неё записи по условию фильтрации по полю типа datetime.


declare @currDate datetime
set @currdate = getdate()

declare @priorDate datetime
set @priorDate = (getdate() - 30)

select field1, field2, filldata
from MyTable
where filldata < @currdate and filldata > @priorDate


Возвращается в результате выборки несколько записей. Запрос выполняется секунд 40-50. что очень медленно.
Какие пути решения ? каким образом можно уменьшить время выполнения запроса? почитал про checksum. попробовал.

Получилось примерно следующее.



declare @currDate datetime
set @currdate = getdate()

declare @priorDate datetime
set @priorDate = (getdate() - 30)

select *
from
(select field1, field2, checksum(filldata  collate database_default) filldateHash
from MyTable) as mt
where mt.filldateHash < checksum(@currdate) and
mt.filldateHash > checksum(@priorDate)



Запрос то теперь этот быстро выполняется. только вот


where mt.filldateHash < checksum(@currdate) and
mt.filldateHash > checksum(@priorDate)

ну никак не выполняется.


 
Ega23 ©   (2009-08-13 17:08) [1]

Индекс на это поле наложи.


 
Павел Калугин ©   (2009-08-14 00:01) [2]

1. вместо
> (getdate() - 30)

dateadd(dd,-30,getdate())

2. что получить то надо? данные за период?
если так то накой черт checksum? смотрел что он возвращает?
а план 1-го запроса смотрел? где тормозит?
совет
> [1] Ega23 ©   (13.08.09 17:08)



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

Форум: "Начинающим";
Текущий архив: 2009.10.18;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.44 MB
Время: 0.006 c
2-1250149690
_Андрей
2009-08-13 11:48
2009.10.18
FastMM &amp; records


2-1250845434
Priest
2009-08-21 13:03
2009.10.18
RS-232 возвращает данные в формате float. Как перевести?


2-1250249797
JS2
2009-08-14 15:36
2009.10.18
asm


2-1250844383
hinst
2009-08-21 12:46
2009.10.18
Загрузка dll из TMemoryStream


2-1250834158
ford
2009-08-21 09:55
2009.10.18
TRxDBRichEdit не выводит popupmenu





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский