Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

увеличение времени исполнения запросов к БД


Страницы:   1 2 3

ply ©   (2008-07-13 02:50:00) 

есть список сотрудников
вот OnShow формы для редактирования данных сотрудника:
if employee_id='0' then //новый сотрудник
     begin
       query.AddWhere('0');
       query.Active:=true;
       query.Append;
     end
   else //вставляем данные о сотруднике
     begin
       query.AddWhere('employee_id='+employee_id);
       query.Active:=true;
       if query.eof then exit;
     
       query.edit;
     end;

изменяю данные и сохраняю...
query.Post

Проблемы начались когда добавил поле с фотографией сотрудника.
После сохранения\\изменения сотрудника с добавлением фотографии скорость работы программы увеличивается: После каждой добавленной фотографии форма для редактирования сотрудников открывается в среднем на 250мс дольше.
Если фотографий не добвлять то время открытия формы не изменяется.

Как это исправить?


stas   (2008-07-29 12:20:00) [1]

>Нат
Ну, незнаю про какую СУБД вы говорите. В MSSQL 2005 есть файловые группы, которые можно вынести на отдельный диск не бэкапить, но это часть базы и она будет хранить целостность. Я правда тоже не представляю такой задачи где бэкап части базу нужен, а части ненужен )))


Ega23   (2008-07-29 11:43:00) [2]


> Это Ваше ИМХО. Тоже очень спорное. Правда?


Не правда. Это полный бред.
Тем более, что мёртвый кот начнёт вонять через какое-то время.


Нат   (2008-07-29 11:34:00) [3]

Это Ваше ИМХО. Тоже очень спорное. Правда?


Ega23   (2008-07-29 10:51:00) [4]


> Не в праве дело, а в соответствии, не так ли?


Я видел двух котов. Один был резвый, тёплый и живой, а другой был неподвижный, холодный и мёртвый. Я попытался первого погладить, а он поцарапал мне руку. А вот мёртвого я гладил без проблем.

По-любому, оставлять котов живими - дурной тон.


Нат   (2008-07-29 10:49:00) [5]

Sergey13
Так и думаю, для адекватности и полноты  данных, они (картинки) явно избыточны.
А клиенту хочется.


Нат   (2008-07-29 10:47:00) [6]

Не в праве дело, а в соответствии, не так ли?
Вы свои 5% по анкетам и отклонениям, тоже не считали.

Сговоримся так: это имхо, след-но имею право ошибаться.
И наоборот.

А права ограничивает закон и модератор.


Sergey13   (2008-07-29 10:46:00) [7]

> [44] Нат   (29.07.08 10:27)
> А нам картинки бэкапить не надо :-)

А они вам вообще нужны? Может просто смешную гиф-ку вместо них показывать? Экономия трафика налицо. 8-)


Ega23   (2008-07-29 10:34:00) [8]


> Нат   (29.07.08 10:27) [44]
>
> А нам картинки бэкапить не надо :-)


Вот мы и пришли к тому, что для решения твоей конкретной задачи под конкретную сеть с небольшой пропускной способностью и т.п. технология хранения картинок вне базы - оправдана.
Что отнюдь не охватывает даже 5% задач с БЛОБ-ами и не даёт тебе никакого права вот так безапелляционно заявлять: "По любому, хранить изображение в БД - дурной тон."


Нат   (2008-07-29 10:27:00) [9]

А нам картинки бэкапить не надо :-)

> если данные не хранятся в базе, то ни о какой целостности говорить нельзя.

Справедливо.


Sergey13   (2008-07-29 10:14:00) [10]

> [42] Anatoly Podgoretsky ©   (29.07.08 10:10)
> Файловая система не отвечает, ей до лампочки

Я неправильно выразился. Имел в виду ОС, которой принадлежит файловая система.


Anatoly Podgoretsky   (2008-07-29 10:10:00) [11]


> Разница в БД-шном хранении картинок и ВНЕ-БД-шном одна,
> ИМХО, - кто отвечает за целостность данных - СУБД или файловая
> система. Обычно права проще нарулить в СУБД, ИМХО опять
> же. Плюс там все равно права надо наруливать на другие поля/записи/таблицы.
>  А рулить в двух местах всяко сложнее.

Файловая система не отвечает, ей до лампочки, она ничего про БД не знает. Поэтому если данные не хранятся в базе, то ни о какой целостности говорить нельзя.

Я не знаю случаев, когда хранение вне эффективнее хранении в БД, причиной хранения вне могут быть ограничения клиентских программ, в этом случае надо идти на серьезные ограничения - отказ от целостности и снижение безопасности сервера.


Ega23   (2008-07-29 09:46:00) [12]


> На мой взгляд оправдано хранить файлы вне БД когда доступ
> к ним только на чтение и они имеют огромные размеры, требующие
> соответствующих накопителей.


Угу, у нас один единственный раз блобы на диске хранились - тревожный видеоархив системы видеонаблюдения.
И то связано было с возможностями MSDE


Sergey13   (2008-07-29 09:35:00) [13]

Разница в БД-шном хранении картинок и ВНЕ-БД-шном одна, ИМХО, - кто отвечает за целостность данных - СУБД или файловая система. Обычно права проще нарулить в СУБД, ИМХО опять же. Плюс там все равно права надо наруливать на другие поля/записи/таблицы. А рулить в двух местах всяко сложнее.

На мой взгляд оправдано хранить файлы вне БД когда доступ к ним только на чтение и они имеют огромные размеры, требующие соответствующих накопителей. Типа фильмотеки. В других случаях более оправдано хранение в БД.


Ega23   (2008-07-29 09:26:00) [14]


> скорость работы


Не изменяется. Ну разве только у парадокса...  :)


> размеры БД


Какая разница? БД с картинками, или и БД и картинки?


> скорость и размеры бэкапов.


А картинки в бэкап класть не надо????

На самом деле налицо непонимание того, каким образом хранится в таблице BLOB.


Нат   (2008-07-29 00:08:00) [15]

Прошу прощения, за опечатки.
Полезная привычка делать сейвы, в данном случае подводит.
:-(


Нат   (2008-07-29 00:05:00) [16]

оп.. читать ".. негрузит сервер.."
А вообще, конечно, мусор - еща та тема...


Нат   (2008-07-28 22:45:00) [17]

Разница для меня: скорость работы, размеры БД, скорость и размеры бэкапов.
Проще работа с картинкам, стандартный софт, грузит сервер БД.
Чуть меньше усилий по уборке мусора в БД.


stas   (2008-07-28 22:20:00) [18]

Нат   (28.07.08 19:27) [34]
Какая разница где мусор будет? в папке или в базе?


Нат   (2008-07-28 19:27:00) [19]


> масса людей не убедила

Дело не в убеждении, а в применении инструмента.
В моем случае, нет нужды хранить картинки и, какие-либо файлы непосредственно в БД.
В другой ситуации, буду хранить в БД.
Но мое личное предпочтение (избегать хранения в БД при наличии такой возможности) останется прежним.
Слишком много соблазна у заказчика загнать всякое файло в БД, большей частью мусора гигантского размера. Скоро и до авишек дело дойдет.


Медвежонок Пятачок   (2008-07-28 18:16:00) [20]

Передача записи с картинкой по сети заметно медленнее, чем без картинки.
И размер картинки может быть 10к, а может и 10Мб.
И не каждый раз пользователю они нужны.


Эт точно. Если картинка не в блобе, то она не по сети тянется, а по эфирным волнам.


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо