Учусь на психолога. Ищу подопытных
Учусь на психолога. Ищу подопытных. Бесплатно.
Темы консультаций: личностный рост, восприятие себя в обществе, проблемы в общении, межличностные конфликты, личные проблемы, неудачи.
Налетай! Торопись! На час психологической разгрузки запишись!
Прям по-настоящему, получаю второе высшее образование. Не на курсах, не в коммерческом ВУЗе. Первое образование педагогическое. Так как это вторая моя вышка, пошла сразу на магистратуру. И сейчас у меня начался предмет "Психологическое консультирование". То есть, начинаю упражняться в консультировании по науке. Вот, поэтому решила известить всех, до кого дотянусь. Давайте принесем друг другу пользу. Вам - выпустить пар по наболевшей теме, мне - практика и опыт.
INSERT INTO - Простая команда с непростым характером
INSERT — это оператор для добавления новых строк в таблицу.
Классика выглядит так:
INSERT INTO customers (name, age, city)
VALUES ('Оля', 28, 'Москва');
Главные слова:
INSERT INTO — куда добавляем,
VALUES — что именно добавляем.
А пока подписывайся на мой канал На связи: SQL Там я публикую посты про особенности и нюансы SQL. Этот канал про то, как не бояться баз данных, понимать, что такое JOIN, GROUP BY и почему NULL ≠ 0. Его я веду с нуля подписчиков. Присоединяйся!
При вставке значений в таблицу можно выделить одиночную вставку и массовую вставку.
Одиночная - это когда в запросе содержится вставка одной строки, а массовая - нужно вставить больше чем одну строку.
INSERT INTO products (name, price) VALUES ('Яблоки', 100);
INSERT INTO products (name, price) VALUES ('Груши', 120);
-- и так 1000 раз 😅
INSERT INTO products (name, price)
VALUES
('Яблоки', 100),
('Груши', 120),
('Бананы', 150);
Один INSERT на 1000 строк работает быстрее, чем 1000 отдельных запросов, потому что база открывает и закрывает транзакцию только один раз.
Транзакция — это логическая единица работы с базой данных, набор действий (обычно INSERT, UPDATE, DELETE и т. д.), которые выполняются как одно целое.
База гарантирует, что или все действия внутри транзакции будут выполнены, или не выполнится ни одно.
Например:
Перевод денег с карты на карту.
Снять деньги с карты А.
Зачислить деньги на карту Б.
Если выполнить только первый шаг, а второй не получится — деньги «пропадут».
Транзакция гарантирует, что либо оба шага выполнятся, либо оба отменятся.
Так вот, даже если мы явно в коде не прописываем начало и окончание транзакции, то наша база автоматически оборачивает наш запрос началом и окончанием транзакции
BEGIN;
INSERT INTO products (name, price) VALUES ('Яблоки', 100);
COMMIT;BEGIN;
INSERT INTO products (name, price) VALUES ('Груши', 120);
COMMIT;-- и так 1000 раз 😅
BEGIN;
INSERT INTO products (name, price)
VALUES
('Яблоки', 100),
('Груши', 120),
('Бананы', 150);
COMMIT;
Но при этом вставлять одним запросом млн строк - это плохо. Можно словить блокировку. Поэтому для большого объема вставки - лучше дробить на несколько маленьких частей.
Оптимальный размер батча — подбирается экспериментально. Обычно от 5k до 50k строк за один заход.
При вставке данных в таблицу у нас часто используется уникальный идентификатор строки, часто этот идентификатор является автоинкрементом, т.е. база сама записывает значение в это поле.
CREATE TABLE users (
id SERIAL, -- автоинкремент
name TEXT
);
INSERT INTO users (name) VALUES ('Оля'); -- id = 1
INSERT INTO users (name) VALUES ('Маша'); -- id = 2
Каждый INSERT добавляет новую запись, а автоинкремент гарантирует уникальный идентификатор для этой строки.
Без него нужно было бы самому считать, какой следующий номер ставить.
Автоинкремент экономит время и предотвращает ошибки.
Но автоинкремент не гарантирует, что значения в поле id будут "последовательными", он гарантирует, что значения в этом поле будут уникальными.
Получается, что при INSERT в поле с автоинкрементом могут быть "дырки".
Это получается, например, в следующих кейсах:
1. отмененная вставка:
- Сделали INSERT, база выделила id = 5.
- Транзакцию откатили (ROLLBACK).
- Id 5 пропал, следующие вставки идут с 6.
2. Удаление строк:
- Если удалить записи, то номера исчезнут, но новые не «подтянутся» к освободившимся.
3. Параллельная вставка:
- Две транзакции одновременно вставляют строки.
- Каждая получает свой id, даже если одна потом откатится → тоже появляются пропуски.
В PostgreSQL номера генерируются через объект SEQUENCE.
Если ты вручную добавил строку с id = 9999, а sequence «застрял» на 5000.
То, когда при следующих попытках осуществить вставку строки БД дойдет до значения 9999 - этот INSERT упадёт с ошибкой: «дубликат ключа». Потому что sequence не обновляется автоматически! Sequence не смотрит на максимальный id в таблице. Он просто отдаёт своё следующее число.
Решение может быть:
ALTER SEQUENCE … RESTART WITH <нужный номер>.
На вставку строк в таблицу может быть вызов триггера. Потому что вставка строки - это новая информация. А в зависимости от новой информации у нас могут быть разная логика подсчета того или иного показателя. Например, расчет бонусов для клиента зависит от суммы заказа. Поэтому при каждой вставке в таблицу заказов будет вызван триггер по расчету бонусов для клиента.
CREATE TRIGGER bonus
AFTER INSERT ON orders
FOR EACH ROW
EXECUTE FUNCTION bonus_cnt();
Каждая новая строка вызовет bonus_cnt().
Даже если ты вставляешь 1000 строк, триггер вызовется 1000 раз.
Есть еще такое понятие как UPSERT.
UPSERT = INSERT + UPDATE, т.е. «вставить новую запись, а если такая запись уже есть — обновить существующую».
Пример: у нас есть таблица users с колонкой id. Мы хотим добавить пользователя с id = 1.
Если пользователя нет → вставляем.
Если пользователь есть → обновляем его данные.
Но такой INSERT + UPDATE в каждой СУБД реализуется по разному.
Одна и та же логика «вставить или обновить» в коде не переносится напрямую между базами. То, что называется UPSERT в PostgreSQL, будет работать иначе в MySQL и совсем иначе в SQL Server.
INSERT ... ON CONFLICT (id) DO UPDATE ... -- Вставляет запись, если id ещё нет; иначе обновляет эту запись. PostgreSQL
INSERT ... ON DUPLICATE KEY UPDATE ... -- MySQL
MERGE ... -- SQL Server
По сути, UPSERT — это концепция, а не единый универсальный оператор.
На скорость INSERT влияет наличие индексов в таблице. Чем больше индексов, тем долше будет выполняться вставка. Каждая новая строка должна обновить все индексы. При массовых загрузках индексы иногда отключают, а потом создают заново
А еще, иногда база говорит: «Вставка прошла успешно», но на диск ещё ничего не записано.
PostgreSQL и MySQL (InnoDB) используют write-ahead log: запись сначала идёт в журнал, потом — на диск.
Если прямо в этот момент выключить сервер → можно потерять часть данных.
Решается настройкой fsync, commit и уровней надёжности транзакций.
INSERT — это не просто «добавить данные». Это про индексы, блокировки, автоинкременты, батчи и даже про то, как СУБД пишет на диск.
Ответ на пост «Пришёл»1
А как это называется, если тебе 40+ лет и ты пришёл на новую работу? 😭
Увольнение
Недоволен внутренними процессами внутри компании. Говорил об этом непосредственному руководителю. Развёл руками: у нас так.
Разместил резюме на сайте «Охотники за головами» посмотреть, а что предлагают.
На следующий день в наш кабинет зашёл директор по ИТ и пригласил меня в переговорную:
«Мне передали, ты резюме разместил. Что не устраивает, давай обсудим.»
Рассказал, что можно улучшить, как я это вижу со своей стороны. Почему это важно и т.д.
«Пока на это бюджета нет. Когда он будет не знаю. Могу пока предложить только повышение оклада на 30%».
На этом и разошлись. Я уже неделю на новой работе. Ведь нужно понимать, что не всё деньгами решается.
Как снова пойти в аналитику — и не потерять себя. Трейдинг
Когда выгораешь, первое, что хочется — сжечь мосты. Уйти в садовники, открыть кофейню на Бали или никогда больше не открывать ни один Excel-файл.
Мне казалось, что я никогда не вернусь в аналитику. Но со временем стало понятно: проблема была не в профессии. А в том, КАК я в ней была.
Да, я тот аналитик, который выгорел и уже 6 месяцев не работает. Но постоянно создает видимость тотальной занятости в своем окружении. Я не могу без работы, мне надо что-то производить, сейчас произвожу видимость занятости, глубоко раздумья и т.п.
Но а если честно, то сейчас экватор моего предполагаемого саббатикал, а это период, когда ты "должен" начать думать, а что дальше. Ведь без заработка ты не можешь обеспечить себе закрытие своих минимальных потребностей. Не закроешь потребности - сдохнешь под забором и об этом никто не узнает.
Короче, время поджимает, действовать надо, вводить себя из этого состояния инфузории туфельки тоже надо.
Поменять всё или сохранить опыт?
После выгорания появляется соблазн резко сменить сферу: начать с нуля, уйти в творчество, работать руками или просто не работать.
Но правда в том, что такое начало требует больше сил и энергии. А их после выгорания… как бы помягче… кот наплакал. И этот выбор предполагает, что ты явно понизишь свой финансовый статус, т.к. новички в любом деле всегда начинают с малого, чтобы набраться опыта, а потом уже ценник себе завышать.
Поэтому я решила: максимально сохранить свои знания и навыки. Не отбрасывать аналитику совсем, а вернуться к ней на других условиях.
Без ненужного давления. Без героизма. Без "давай ещё одну задачку, ты же справишься".
Аналитика — это не только большие данные.
Когда слышат слово «аналитик», у большинства в голове рисуется:
таблица, 100500 строк, человек с кислым лицом и отчёт "за месяц, квартал и всё, что можно".
Но это не вся правда. И не обязательно твоя.
Я недавно писала пост про кайфовые задачи аналитиков — где ты как детектив, собираешь клиентский профиль по кусочкам, анализируешь цепочки событий, выстраиваешь гипотезы.
Тут как раз эти посты (без рекламы, просто от души):
🔸 Задачи аналитиков — интересные или так себе?
🔸 Идеальная работа аналитика и чего я боюсь
🔸 Если бы жизнь была базой данных
Можно смотреть на аналитику иначе. Более человечно, живо, и даже с юмором.
План — это не клетка
Чтобы вернуться в аналитику безболезненно, мне нужен ПЛАН.
Но не такой, знаете, где «сделай это, иначе ты провалился».
А план-ориентир. С мотивацией, с поддержкой, с желанием и вдохновением. Как карта в путешествии: можно отклониться, можно остановиться, можно сделать крюк.
В этом плане — гибкость, возможность менять курс.
Я могу дать себе шанс попробовать.
Что я сейчас делаю?
Я решила начать с пет-проекта. Только для себя.
Мне интересна тема аналитики в трейдинге — особенно технический анализ.
Это почти идеальный вариант вернуться в профессию:
Я и монитор
Я и котировки
Никаких совещаний
Никакой бюрократии
Никакой работы "в стол"
Да, я понимаю, что технический анализ не волшебная таблетка. Есть новостной фон, отчётности, дивиденды — и вообще, рынок не предсказуем.
Но! Это интересно. Это про гипотезы, эксперименты и выводы.
А ещё — здесь можно пробовать ML-модели, которые в корпоративной работе мне редко удавалось применить.
Ну а результат - это увеличение твоего бюджета на конец твоего отчетного периода.
Сейчас я активно ищу информацию, точнее жизненный опыт кого-нибудь, желательно не из нашумевших известностей в трейдинге, у которых все отлично. А того, что недавно зашел в эту тему и публично демонстрирует свои результаты. Это для того, чтобы понять ход действий для развития в этом направлении. Да, у каждого своя дорога, свой опыт, свое видение и точно не получится достигнуть таких же результатов, потому что у каждого они будут свои.
Мне нравится тема мотивации и стимула, когда идет здоровое соперничество, которое подстегивает развиваться и достигать новых вершин. Поэтому буду рада, если кому-то тоже интересно начать развиваться в этом направлении, изучать биржевой рынок и кто +/- моего уровня (т.е. уровень 0+). Буду рада эксперименту по соперничеству на рынке (кстати, я пока рассматриваю только рынок акций на Московской бирже).
Мне сказали, что такого человека называют бадди - человек на твоём уровне или чуть выше, который прошёл этот путь до тебя и теперь помогает тебе. Поэтому Бадди - найдись! Можно приходить с предложениями в комменты этого поста.
Риски? Да, я их учла
Я выделила сумму, которую готова потерять. Точнее, на которой готова учиться.
Я не жду, что заработаю миллионы за неделю. Я изучаю новую сферу. Будут ошибки. Будет куча гипотез и переделок.
Но это — путь. А не попытка срочно вернуть себе зарплату из прошлого.
Я дала себе 4–5 месяцев. Посмотрю на результаты. И потом решу:
а стоит ли этот мини-продукт того, чтобы его "вывести в прод"?
Главное сейчас — баланс
Раньше я отдавала работе на 120%. Сейчас хочу иначе.
Наблюдать за фоновым напряжением. Не зарываться. Давать себе отдых.
И понимать: моя жизнь важнее, чем дедлайн.
И если я снова вернусь в аналитику — это будет по моим правилам.
Пока в голове одна мысль:
Я не против аналитики. Я против выгорания.
И если изменить подход, можно сохранить и себя, и профессию.
P.S. А если вам хочется немного поддержки и вдохновения — я веду телеграм-канал @DailySoulBoost с утренними посланиями. Просто, по-человечески. Присоединяйтесь 💛




