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

Программа всё равно висит, хотя вроде бы ошибок нет. CREATE FUNCTION

testsize() RETURNS integer AS $$
DECLARE
i integer;
BEGIN
create table testind (id serial, test int);

FOR i IN 1..65000 LOOP
INSERT INTO testind(test) values (i);
END LOOP;

create index indtest on testind(test);

raise info '%', (select pg_size_pretty (pg_relation_size('indtest')));

FOR i IN 1..65000 LOOP
if ( (i % 2) = 0) THEN delete from testind where id = i; END IF;
END LOOP;

FOR i IN 1..65000 LOOP
INSERT INTO testind(test) values (i);
END LOOP;


raise info '%', (select pg_size_pretty (pg_relation_size('indtest')));

drop table testind;
END;
$$ LANGUAGE plpgsql;
ни у кого пж не запущен, запустить, проверить?

9 ответов

20 просмотров

FOR i IN 1..65000 LOOP if ( (i % 2) = 0) THEN delete from testind where id = i; END IF; END LOOP; Вот сюда добавьте else continue; перед END IF;

Скорее просто медленно работает. Проверьте на сотне, невелика проблема.

ks- Автор вопроса
Ilya Anfimov
Скорее просто медленно работает. Проверьте на сотн...

более чем странно, что сняв функцию обнаруживаю удалённую таблицу. Может он отработал, но после первого показа размера индекса чего то ждёт от меня? Ентер не помогает.

ks
более чем странно, что сняв функцию обнаруживаю уд...

Не вижу ничего странного -- таблица создаётся в первой строке вообще.

ks- Автор вопроса
Ilya Anfimov
Не вижу ничего странного -- таблица создаётся в пе...

точно вы правы, медленно работает. Сделал для 10 и отработало select * from testsize(); ИНФОРМАЦИЯ: 16 kB ИНФОРМАЦИЯ: 1440 kB ОШИБКА: конец функции достигнут без RETURN КОНТЕКСТ: функция PL/pgSQL testsize() из чего два вывода. 1. Индекс растёт в размере. Также как в 9 версии. То есть куренси индекс нужен как правка "багов" типа базы данных, как у постгрес. Все индексы растут в размере и их необходимо пересоздавать постоянно, отслеживая размер. 2. фигасе как медленно работает! Всего 65 тысяч инт. Неудевительно, что в пж всё такое медленное. Как так, что я ваще могу делать не правильно по скорости???

ks
точно вы правы, медленно работает. Сделал для 10 и...

Ваш анализ — говно. Совсем. Это дажэ безсмысленно обсуждать.

ks- Автор вопроса
Ilya Anfimov
Ваш анализ — говно. Совсем. Это дажэ безсмысленно ...

не обсуждайте, кто вам не даёт, материтесь в углу один как бука.

ks
точно вы правы, медленно работает. Сделал для 10 и...

И да, как нормально писать такие действия — я написал в том ответе вам, от которого сначала только begin запостился.

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта