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

Вниз

Как ускорить работу?   Найти похожие ветки 

 
apl   (2006-05-25 12:50) [0]

Стоит задача:
Есть таблица, примерно 20000 записей, есть папка с фотографиями и подписями людей из этой таблицы, примерно 7000 шт. каждого вида. Разработчики все это в BLOB не запихали.
Необходимо построить запрос в котором отобразить человека и дату съемки.
Запрос сделал, дату создания файла получаю при помощи GetFileAttributesEx. Дату запихиваю в вычисляемое поле. Все вроде работает терпимо пока не начинается фильтрация по дате создания. Т.к. вычисляемое поле в выражение фильтра записать вероятно нельзя (?), то использую OnFilterRe... и тут, особенно при первой установке фильтра возникает жуткий тормоз. Есть ли способ все это ускорить. База и папка с фотками - на сервере.


 
Sergey13 ©   (2006-05-25 13:02) [1]

Почему бы фотки не хранить в базе, вместе с датами создания?


 
Ega23 ©   (2006-05-25 13:17) [2]

1. См. [1].
2. Зачем такие сложности с атрибутами файлов? Если уж их хранить как файлы, то имена им давать IntToStr(PersID)


 
Desdechado ©   (2006-05-25 13:20) [3]

а почему нельзя хранить дату в БД?
при обновлении/добавлении фотки вписывать дату сразу
и никаких вычисляемых полей


 
sniknik ©   (2006-05-25 13:22) [4]

дата съемки = дата создания файла ???

оригинально, файлы естественно не копируются никуда, ничего с ними не происходит, лежат себе и лежат. ;)

> База и папка с фотками - на сервере.
и у тебя туда есть доступ с клиента? т.е. вычисляемое поле для вычислений лезет на сервер и сканирует практически 7000 файлов? причем как понимаю раз ограничения фильтрами то тут и xxxTable не обошлось, а запросы из принципа не используются...

imho тут не ускорять, тут переделывать нужно. ну хотя бы одну доп.таблицу сгенерить раз записать в нее все необходимое (даты), сделать индексы, и после обращатся только к ней, запросами естественно.


 
apl   (2006-05-25 16:26) [5]

К сожалению, такое использование фоток выполнено разработчиком основной задачи.
Table  не используется. Используется ADOQuery
В таблице есть признак - есть фото или нет.
Пишу Select фамилия, признак наличия -> отображаю результат в DBGrid
В FieldEditor определил вычисляемое поле и "в нем отображаю дату создания".
Почему через GetFileAttributesEx - там можно получить и дату первоначального создания (если файл не копировался никуда - а это так), и дату последней модификации. Т.к. эти файлы редактируются из этой сетевой папки (цветокоррекция), то другого способа получить дату создания - не придумал, т.к. при сохранении изменений например FileAge возвращает дату последней модификации.
Все эти файлы сделаны либо при помощи Web камеры, либо отсканированы с фотографии паспорта человека в день обращения.
Изменять базу пока не могу, т.к. это единый для области проект. Разработчик категорически пока запрещает это сделать. Поэтому даже сделать такую таблицу в другой базе данных и втянуть через какой либо View в работу основной - проблематично, т.к. и база периодически корректируется, и фотки пополняются в кол-ве до 300 шт. ежедневно.
Я даже триггер не могу повесить сам на изменение поля признака наличия в оснвной базе, не то что переписать обслуживающий эти вопросы модуль работы с фотографиями.


 
Sergey13 ©   (2006-05-25 16:29) [6]

2 [5] apl   (25.05.06 16:26)
Тогда непонятно другое - раз ты не разработчик, почему тебя ЭТО ВСЕ беспокоит? Посылай всех, кто торопится на... к разработчику вобщем. 8-)


 
apl   (2006-05-25 16:41) [7]

К сожалению качество купленных (не мной) камер, особенности контингента не способного расписаться в выделенном квадратике (пенсионеры с трясущимися руками и расшатанной нервной системой), эмоциональность начальства - все это потребовало разработать несложную программку позволяющую фотографу проводить коррекцию (в основном тоновую и резкость) отснятого материала. Она качественно :))) делает свое дело не прибегая к помощи гигантов типа Фотошопа. Пока не использовалась дата создания (фотографирования) все было Ок. До 3000 фоток все было Ок. А сейчас появились затыки. Хотя,  когда дождешься отработкипервого фильтра, все работает Ок. Да и последующие фильтры работают достаточно терпимо (пока ?)!


 
apl   (2006-05-25 16:42) [8]

До 3000  - это фотограф мог охватить глазами и сознанием.



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

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

Наверх




Память: 0.49 MB
Время: 0.025 c
15-1151573917
SergProger
2006-06-29 13:38
2006.07.30
Карта Питера


2-1152480645
PhillipJFry
2006-07-10 01:30
2006.07.30
Помогите с запросом!!


15-1151880203
ronyn
2006-07-03 02:43
2006.07.30
html авторизация и регистрация


8-1139492971
AlexeyMir
2006-02-09 16:49
2006.07.30
Есть музыкальный диск, как из трэка вырезать кусок, сохранить в w


2-1152392627
privet
2006-07-09 01:03
2006.07.30
кнопошки