![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Быстая работа с большой базой [D6]
ZedeS © (2005-09-30 17:01:00)Доброго времени суток.
Проблема следующего характера:
Надо за приемлемое время (1-2 мин) обработать (прочитать значения 5 полей и произвести нехитрые вычисления)приблизительно 1 млн. записей.
Сейчас использую Delphi и Access через ADO.
На P4 2.4G и 512Mb - 100 000 записей обрабатывается за 2,5 мин
Чем лучше заменить Access или надо вводить многопоточность.
Заранее благодарен
isasa (2005-10-03 10:58:00) [21]Немного в тему и нет. Рекомендую посмотреть размер файла подкачки в разделе "Виртуальная память".
По умолчанию ~1.5 ОП - поставить 512..1024М. Очень помогает.
sniknik (2005-10-03 09:14:00) [22]> Думаю, правильная база, заточеная под MSSQL, использующая его возможности ... уделать легко по скорости ...
именно это и имел в виду когда оговаривал что если сравнивать ~ однофункциональное.
кстати если ли уж зашла речь о функциональности то не такая она и маленькая в access. самая большая для баз позиционирующихся как локальные.
Danilka (2005-10-03 08:29:00) [23]sniknik © (01.10.05 21:45)
конечно если рассматривать то что у них примерно однофункционально, если mssql чтото умеет по устественным образом а в access приходится извращатся...
А оно надо, использовать только ту функциональность, которая есть в Аццессе? :)
А как-же триггеры, TSQL и тд.? :)
Думаю, правильная база, заточеная под MSSQL, использующая его возможности, которые отсутствуют в аццессе может уделать легко по скорости аццесс и при однопользовательском доступе.
Конечно, если это не БД из двух таблиц, а что-то посерьезнее. :))
Danilka (2005-10-03 08:21:00) [24]Zedes © (30.09.05 17:44)
> А глянуть на выполняемые расчеты ?
Расчеты ерундовые.
3 поля проверяются на соответствие 3 переменным, если соответсвие есть, то 2 из 5 полей просто копируются в отчет
Используй SQL запросы + индекс по 3-м "проверяемым" полям, и будет тебе щастье, на твоих мильенах. :)
sniknik (2005-10-01 21:45:00) [25]> access+ado+delphi жизненно несовместимы, скорость действительно падает в сотни раз.
надо добавлять - при "умелом" использовании... ;)
на самом деле access(база)+ado+delphi в случае одного юзера на локальной машине гораздо быстрее (процентов на 20-30) чем mssql в техже условиях (один юзер и сервер на одной машине с клиентом).
конечно если рассматривать то что у них примерно однофункционально, если mssql чтото умеет по устественным образом а в access приходится извращатся... ну тут и скорости другие.
так же как если разнести базу и клиента на разные машины... или подключить 15 конектов к одной базе. тут тоже необходим будет перерасчет времени, и будет он не впользу access, но не в сотни раз ;), цифры будут поскромнее.
Loginov Dmitry (2005-10-01 21:23:00) [26]access+ado+delphi жизненно несовместимы, скорость действительно падает в сотни раз. Используй другие методы доступа к данным
Sashka (2005-10-01 20:47:00) [27]
> Расчеты ерундовые.
> 3 поля проверяются на соответствие 3 переменным
А если проверку в where запихнуть? В отчёт-то много записей попадает?
app (2005-09-30 19:57:00) [28]Zedes © (30.09.05 17:44) [7]
Намек на навигационные методы понят.
AlexWlad (2005-09-30 19:36:00) [29]Access - фтопку... Только полноценный SQL-сервер... Как можно бОльшую часть расчетов/логики - в ХП... Ну и оптимизация, конечно.
Desdechado (2005-09-30 17:49:00) [30]я вообще-то про временнЫе ограничения спрашивал
да и код "проверок 3 полей" оптимизировать надо, стесняешься?
Zedes (2005-09-30 17:44:00) [31]
> А глянуть на выполняемые расчеты ?
Расчеты ерундовые.
3 поля проверяются на соответствие 3 переменным, если соответсвие есть, то 2 из 5 полей просто копируются в отчет
Виталий Панасенко (2005-09-30 17:40:00) [32]
> Zedes © (30.09.05 17:35) [5]
>
> > нужен СУПЕР-комп
>
> Это уже последний этап оптимизации. Для начала нужно подобрать
> софт
А глянуть на выполняемые расчеты ?
Zedes (2005-09-30 17:35:00) [33]
> нужен СУПЕР-комп
Это уже последний этап оптимизации. Для начала нужно подобрать софт
Виталий Панасенко (2005-09-30 17:29:00) [34]Оно то так.. Но если все-таки действительно нужно время.. Это как ломать пароль из более чем 6-7 и более символов.. Чтобы было быстро - нужен СУПЕР-комп, а не персоналка.. Мое мнение.
Fay (2005-09-30 17:15:00) [35]MSDE | MSSQL2005 Express
Zedes (2005-09-30 17:14:00) [36]
> откуда такие ограничения?
> заменить на нормальный SQL-сервер, коих много
Весь софт должен быть лицензионный
Desdechado (2005-09-30 17:10:00) [37]откуда такие ограничения?
заменить на нормальный SQL-сервер, коих много