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

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

Как записать в таблицу БД текст объёмом свыше 2-х мегабайт?


Страницы:   1 2 3 4 5 6 7

dehkanin ©   (2014-02-19 20:15:00) 

1. Какой тип переменной выбрать для поля записи?
2. Если string то  - что указать в поле "size ", чтобы записать текст объёмом свыше 2-х Мб?
Если другой тип - какой?


DVM   (2014-02-21 14:23:00) [21]


> Styx   (21.02.14 13:37) [104]
>
> > Интересно - на много ли?
>
> Намного. Но это был MySQL и PHP

Вот из-за MySQL такое суеверие против хранения файлов в БД  и появилось.
Точнее даже не из-за самого MySQL, а места, где он чаще используется - веб программирования. Там, да, не очень принято хранить файлы в БД, и тянуть их и без того тормозным PHP, когда вместо этого можно отдать как статику через Apache или NGNIX


Ega23   (2014-02-21 13:58:00) [22]


> Но коньяк он у меня не получит, раз спорить не стал


Я не играю в азартные игры.
А коньяк - через час попьём. :)


Ega23   (2014-02-21 13:57:00) [23]


> Намного. Но это был MySQL и PHP, а в случае файлов - голый
> Apache.


Ну так это немножко другое. Когда у тебя уже система с кучей скриптов и картинок во внешних файлах, то присобачить туда "ещё какое-то количество" - тут вроде и ничего такого особенного не будет.
А если учитывать то, что в DBISAM, по слухам, вторичных ключей нет, то вся ссылочная целостность вообще по одному месту идёт.


Rouse_   (2014-02-21 13:56:00) [24]

С глубоким прискорбием приходится признать что да - Лежка, программист :)
Ему таки удалось разогнать старую корявую утилитку, которая только запускалась три минуты (правда на убитом компе) до вполне таки приличных значений :)
Но коньяк он у меня не получит, раз спорить не стал :)))


Styx   (2014-02-21 13:37:00) [25]


> Интересно - на много ли?

Намного. Но это был MySQL и PHP, а в случае файлов - голый Apache.


clickmaker   (2014-02-21 13:16:00) [26]

вот в ms sql 2008 есть такая штука: Хранилище FILESTREAM объединяет компонент SQL Server Database Engine с файловой системой NTFS, размещая данные больших двоичных объектов (BLOB) типа varbinary(max) в файловой системе в виде файлов.
Но здесь профит по скорости можно получить, размещая этот файлстрим в другом разделе, а лучше вообще на другом физическом диске.


Inovet   (2014-02-21 13:09:00) [27]

> [100] Styx   (21.02.14 12:17)
> У меня получилось быстрее НЕ писать в BLOBы.

Интересно - на много ли?


Ega23   (2014-02-21 12:38:00) [28]


> У меня получилось быстрее НЕ писать в BLOBы.


А с этим никто и не спорит. Если есть возможность записи напрямую, то это полюбасу будет быстрее, чем запись через дополнительные прослойки.
Речь не за скорость шла.


Styx   (2014-02-21 12:17:00) [29]


> Просто технически, с чего должна тормозить база

Я тоже так рассуждал. Но...
Сферическая база в вакууме не быстрее и не медленнее сферической ФС, которая тоже суть база данных.
А вот два конкретных воплощения того и иного подхода нужно сравнивать на тестах. У меня получилось быстрее НЕ писать в BLOBы.


Inovet   (2014-02-21 11:21:00) [30]

> [94] RWolf ©   (21.02.14 10:27)
> выкачать блоб целиком, прочитать байт

Какие тупые разработчики СУБД, не понимают таких простых вещей.


Ega23   (2014-02-21 10:54:00) [31]


> так о чем и речь!
>


Речь о том, что СУБД надо под задачу выбирать.


brother   (2014-02-21 10:48:00) [32]

> Это зависит исключительно от СУБД.

так о чем и речь!


Кщд   (2014-02-21 10:42:00) [33]

>RWolf ©   (21.02.14 10:27) [94]
>Чтение одного байта из середины файла в БД: выкачать блоб целиком, прочитать байт.
выкачивать BLOB целиком никто не запрещает
кто так не хочет поступать, читает этот байт на сервере и возвращает клиенту


Ega23   (2014-02-21 10:37:00) [34]


> выкачать блоб целиком, прочитать байт


Это зависит исключительно от СУБД.


RWolf   (2014-02-21 10:27:00) [35]


>  [90]
> Просто технически, с чего должна тормозить база при наличии
> в ней 100500 файлов по 100500 мегабайт?

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


Ega23   (2014-02-21 10:11:00) [36]


> Просто технически, с чего должна тормозить база при наличии
> в ней 100500 файлов по 100500 мегабайт?


Да вот мне тоже непонятно, почему этого многие не понимают?


brother   (2014-02-21 08:44:00) [37]

ждемс...


Ega23   (2014-02-21 08:43:00) [38]

Спакуха. Через пару часов отпишемся, кто там в чём виноват :)


Inovet   (2014-02-21 06:05:00) [39]

Просто технически, с чего должна тормозить база при наличии в ней 100500 файлов по 100500 мегабайт? Чем хранение этих файлов в базе отличается от хранения их же рядом с ней, ну кроме дополнительных неудобств во втором случае. Следуя упомянутым выше теориям, в базе должно быть быстрее, на практике что-то там может замедлять, но не в отношении 10минут/10 секунд. Значит в базе что-то не так сделано.

Это только мои умозаключения, неподкреплённые практикой.


Ega23   (2014-02-20 21:21:00) [40]


> Рабочая или нет - я тебе сейчас не могу ответить, но с вероятностью
> 99% - ровно та же, которую использует Дима.


Полистал "байду". Судя по датам изменений - база боевая.


Страницы:   1 2 3 4 5 6 7

Наверх

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