Более эффективный способ использовать курсорный цикл, вставлять и фиксировать для каждой строки (Oracle)

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

Этот небольшой фрагмент предотвратит загрузку imgs, встраиваний и iframe и будет вручную загружать их позже, когда это необходимо. Одно предостережение: объекты, загруженные слишком быстро для JQuery / JavaScript, чтобы их поймать, по-прежнему загружаются, и сценарий все же их удаляет. Поскольку это предназначено для уменьшения времени загрузки, это не должно быть проблемой.

Fiddle

loadObjects = function() {
  /* LOAD OBJECTS */
  $("img, embed, iframe").each(function() {
    var obj = $(this);

    obj.attr("src", obj.data("objsrc")).ready(function() {
      obj.fadeIn(1000, "linear").prev(".loading").fadeOut(750, "linear", function() {
        $(this).remove();
      });
    });
  });
}

$(document).ready(function() {
    /* *** PREVENT OBJECTS FROM LOADING *** */
    $("img, embed, iframe").each(function() {
        var obj = $(this);
        obj.data("objsrc", obj.attr("src"));
        obj.hide().attr("src", "").before("");
    });
});

0
задан palo173 19 March 2019 в 09:26
поделиться

1 ответ

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

Примерно так:

СОЗДАНИЕ ИЛИ ЗАМЕНА ПРОЦЕДУРЫ XTS.GET_PROFILE_AGGR
AS
CURSOR time_series_cur IS выбирает отличное имя_кластера_таблицы как res из xts.time_serie;

BEGIN  
  for time_series_rec in time_series_cur  
  LOOP  
    Execute immediate 'INSERT INTO HDO.tmp_profiles_overview (id_profile, cnt, d_min, d_max) select time_series_id, count(*), min(time), max(time) from ' || time_series_rec.res || ' group by time_series_id';  

  END LOOP;  

commit;   
END;
0
ответ дан palo173 19 March 2019 в 09:26
поделиться
Другие вопросы по тегам:

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