Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
1-1150371712
PRT
2006-06-15 15:41
2006.07.30
Doc2TXT


2-1152523569
Delphi basic
2006-07-10 13:26
2006.07.30
Не отображаются вновь созданные поля


4-1144682201
Ромка
2006-04-10 19:16
2006.07.30
Периоды времени мельше 1 милисекунды


15-1151600516
r@bbit
2006-06-29 21:01
2006.07.30
Нестандартная запись CD


3-1148750418
Katyyha
2006-05-27 21:20
2006.07.30
А что-нибудь еще.





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