172 похожих чатов

Чатик, подскажите как хранить темплейты в бд. Мне нужно сохранить

какой-то простенький темплейт вида "Hello {name}, how are you?".

Можно сохранять это как текст, но парсить на каждый чих мне не хочется. Думаю хранить это как массив text-ов. Это будет эффективно храниться в бд?

11 ответов

25 просмотров

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

Lama-Lover Автор вопроса
Vitaly Larin
а зачем парсить? .. это же шаблон .. после того ка...

Затем что шаблон-как-строка будет весь обходиться в поиске плейсхолдеров. Сложность по времени типа O(длины строки). А шаблон в том формате, который я выше скинул, будет обходиться за O(количества плейсхолдеров), что в разы быстрее

Lama Lover
Затем что шаблон-как-строка будет весь обходиться ...

и какова же длина реального самого большого шаблона ?

Lama-Lover Автор вопроса
Vitaly Larin
и какова же длина реального самого большого шаблон...

От 300 байт до 20-30кб где-то. Это до рендеринга. После рендеринга немного больше

Lama Lover
От 300 байт до 20-30кб где-то. Это до рендеринга....

смешные цифры в рамках заданного вопроса оптимизации и

Lama-Lover Автор вопроса

Так вот если array of text хранится эффективно, мне реализовать такие темплейты будет очень быстро. Это буквально на 15 минут работы

Lama Lover
Так вот если array of text хранится эффективно, мн...

Вы планируете замену плейсхолдеров на реальные данные в конечном итоге производить тоже в БД?

Lama Lover
Нет, точно нет)

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

Lama-Lover Автор вопроса
Vitaly Larin
тогда не вижу смысла в вопросе как хранить .. как ...

https://t.me/pgsql/476485 Потому что массив строк сильно быстрее рендерится

Lama Lover
https://t.me/pgsql/476485 Потому что массив строк...

пример можно в реальных цифрах для просто текста с плейсхолдерами и сборки текста из массива строк с плесхолдерами ? то что короткая строка обрабатывается быстрее и так понятно, но накладные расходы на сборку из массива ещё не озвучены

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта