Форум: "Базы";
Текущий архив: 2006.07.30;
Скачать: [xml.tar.bz2];
ВнизКак ускорить работу? Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.011 c