![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как записать в таблицу БД текст объёмом свыше 2-х мегабайт?
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% - ровно та же, которую использует Дима.
Полистал "байду". Судя по датам изменений - база боевая.