| 
 | 
| 
 
Обновление (не bulk) полей записи в БД 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Предположим, есть некая форма (например HTML) с количеством полей более, к примеру, пяти. Стоит ли апдэйтить сразу все поля (если было хоть одно изменение) или колхозить динамику на нужные (измененные) поля? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 19.05.2020, 13:17 | 
  
  
  
   | 
||
| 
 
Обновление (не bulk) полей записи в БД 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  waszkiewicz, колхозь, колхозь, заодно и сбор статистики наколхозь о том, как часто меняют одно, два поля ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 19.05.2020, 13:25 | 
  
  
  
   | 
||
| 
 
Обновление (не bulk) полей записи в БД 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  waszkiewicz или колхозить динамику на нужные (измененные) поля? Это зависит от того будет ли одна запись изменяться двумя пользователями параллельно. Обычно такое напрочь не нужно. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 19.05.2020, 14:08 | 
  
  
  
   | 
||
| 
 
Обновление (не bulk) полей записи в БД 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  waszkiewicz Стоит ли Это зависит от того, какая БД, каков размер полей, поток и разнообразие обращений, на каком железе всё крутится - в общем, от того, где именно узкие места. Схематично: - Форма посылает изменения на сервер. Если суммарный размер полей значительный, и они не менялись, это напрасно грузит сеть, повышает вероятность обрыва соединения посередине передачи итп. Для клиентов в интернете первым фактором можно пренебречь, а вот второй в любом случае нехорош. - Сервер посылает изменения в БД и второй раз напрасно грузит сеть. - Если БД, например, Postgre, то она в любом случае, даже если пришёл один байт изменений, создаёт новую версию записи, копируя её целиком. То есть в этом месте разницы нет. - Если запись мелкая, меньше блока (страницы итп) на диске, то разницы в этом месте тоже, скорее всего, нет, хотя надо смотреть, как реализовано в конкретной БД. А вот если запись большая, то может быть довольно глупое переписывание нескольких страниц ровно теми же данными - либо считывание этих страниц с целью проверить, изменились ли они и нужно ли их переписывать. Отдельное веселье может быть с lob-ами, которые хранятся отдельно. - В любом случае, кроме страниц данных, СУБД в том или ином виде пишет журнал изменений. И в этот журнал, скорее всего, лягут все пришедшие поля - хотя опять же зависит от СУБД. То есть, журналы изменений запросто начнут содержать 95% бессмысленной информации, пухнуть в 20 раз быстрее, требовать в 20 раз больше места и среди прочего грузить ввод-вывод, который имеет все шансы стать узким местом системы - и как следствие, обслуживать в 20 раз меньше клиентов на том же железе. - С другой стороны, 2^n похожих запросов тоже могут доставить проблемы с кэшированием планов. В общем - надо смотреть по конкретной ситуации. Абстрактно - в принципе лучше делать, но не факт, что в конкретном случае оно того стоит. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 23.05.2020, 13:37 | 
  
  
  
   | 
||
| 
 
Обновление (не bulk) полей записи в БД 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  waszkiewicz Предположим, есть некая форма (например HTML) с количеством полей более, к примеру, пяти. Стоит ли апдэйтить сразу все поля (если было хоть одно изменение) или колхозить динамику на нужные (измененные) поля? если изменения независимы (т.е. новое состояние объекта в списке приемлемых состояний), то обязательно) ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 23.05.2020, 14:01 | 
  
  
  
   | 
||
| 
 | 

start [/forum/topic.php?desktop=1&fid=33&tid=1547107]:  | 
    0ms | 
get settings:  | 
    10ms | 
get forum list:  | 
    14ms | 
check forum access:  | 
    3ms | 
check topic access:  | 
    3ms | 
track hit:  | 
    61ms | 
get topic data:  | 
    10ms | 
get forum data:  | 
    2ms | 
get page messages:  | 
    44ms | 
get tp. blocked users:  | 
    1ms | 
| others: | 239ms | 
| total: | 387ms | 

| 0 / 0 | 

    Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
    
    
    «На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
    
    
    ... ля, ля, ля ...