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

Вниз

ADOQuery && full database scan   Найти похожие ветки 

 
Октавиан   (2004-01-13 14:32) [0]

Мне нужно просканировать всю базу данных, с учётом что в ней могут быть примерно 100000 рядов а у клиента опер. память не в 1Gb. Я пользуюсь компонентой ADOQuery и база данных на MsSQl. Я заметил две штуки, во первых при сканировании както этот компонент ограничивается примерно 60 Mb что всё равно не мало, и еше программа теряет темп уже после первой тысячи. Для решении первой проблемы я пробовал ставить ADOQuery.CursorType:=ctForwardOnly но это не помогает (тогда для чего эта опция сушествует вообще !?). Для второй проблемы я поставил ADOQuery.CacheSize:=500 и ExecuteOptions eoAsyncFetch:=True что повысило скорость но всё равно темп быстро падает. Если можете подскажите как зделать лучше.


 
sniknik   (2004-01-13 14:39) [1]

один дополнительный скромный вопрос...
а для чего тебе сканировать всю базу? чего ты этим хочеш добится? и зачем через клиента, нельзя ли на сервере?

(3 получилось... :о()


 
Danilka   (2004-01-13 14:40) [2]

что значит "просканировать"?
а на счет, "как сделать лучше", специально для этого придумали язык, называется SQL, на котором обьясняют серверу что надо сделать, и он сам все делает, не выплевывая мильены записей на клиента.


 
Danilka   (2004-01-13 14:51) [3]

а обозвать записи рядами - это круто! :))
интересно, а как поля называцца будут, вероятно полочками.


 
Vlad   (2004-01-13 14:57) [4]

ИМХО, такие вещи надо в хранимой процедуре делать, а не на клиенте. Пожалей пользователя.


 
Октавиан   (2004-01-13 15:46) [5]

Я перефразирую чтоб было более понятно, да прога может выполняться на сервере, но всё равно мне надо все записи пропустить через прогу (она делает очень сложную и комлексную статистику которую мало кто в силах выразить через один огромный SQL запрос). Дело в том что эта прога будет запускаться ровно один раз в году, думаю это не будет грехом пропустить почти всю базу данных через прогу. Так как мне ограничить рост памяти в ADOQuery ?


 
Danilka   (2004-01-13 15:49) [6]


> она делает очень сложную и комлексную статистику которую
> мало кто в силах выразить через один огромный SQL запрос

А вот для этого как раз и служат ХП!
Какая разница, на чем писать эту самую "прогу", на дельфи или в ХП на T-SQL, но во втором случае посчитает сам сервер, не загружая ни клиента ни сеть. :))



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

Форум: "Базы";
Текущий архив: 2004.02.06;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.025 c
3-16033
uu
2004-01-13 12:11
2004.02.06
fastreport


4-16826
Ptr
2003-11-26 17:50
2004.02.06
Как узнать, сколько экранных точек в сантиметре?


3-16097
qwe
2004-01-16 09:57
2004.02.06
select FB 1.5 RC8


1-16212
ivanenko
2004-01-29 00:42
2004.02.06
Как узнать имена библиотек DLL, которые требуются для EXE


1-16467
HolyMan
2004-01-27 22:37
2004.02.06
Как сделать цветной грид через строчку?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский