Пользователь Kilor (Боровиков Кирилл)
- SQL HowTo: немного геометрии (Advent of Code 2025, Day 9: Movie Theater)
- SQL HowTo: ускоряем запрос в 32 раза (Advent of Code 2025, Day 8: Playground)
- SQL HowTo: трассировка и подсчет путей (Advent of Code 2025, Day 7: Laboratories)
- Стабильно зарабатываем на бирже: сеанс черной магии с последующим разоблачением
- SQL HowTo: математика вдоль и поперек (Advent of Code 2025, Day 6: Trash Compactor)
- SQL HowTo: проверяем и объединяем диапазоны (Advent of Code 2025, Day 5: Cafeteria)
- SQL HowTo: «запекаем» шаг рекурсии (Advent of Code 2025, Day 4: Printing Department)
- SQL HowTo: от частностей к рекурсии (Advent of Code 2025, Day 3: Lobby)
- SQL HowTo: генерируем строкочисла (Advent of Code 2025, Day 2: Gift Shop)
- SQL HowTo: немного математики (Advent of Code 2025, Day 1: Secret Entrance)
- PostgreSQL Antipatterns: отказ от агрегатных функций = кратное ускорение
- PostgreSQL Antipatterns: создаем JSON из строки
- SQL HowTo: простой финал с агрегатами (Advent of Code 2024, Day 25: Code Chronicle)
- SQL HowTo: немного двоичной логики (Advent of Code 2024, Day 24: Crossed Wires)
- SQL HowTo: работаем с массивами (Advent of Code 2024, Day 23: LAN Party)
- SQL HowTo: оконные функции (Advent of Code 2024, Day 22: Monkey Market)
- SQL HowTo: моделирование против подсчета (Advent of Code 2024, Day 21: Keypad Conundrum)
- SQL HowTo: кратчайший путь «туда и обратно» и его самосоединение (Advent of Code 2024, Day 20: Race Condition)
- SQL HowTo: динамическое программирование (Advent of Code 2024, Day 19: Linen Layout)
- SQL HowTo: поиск пути и дихотомия (Advent of Code 2024, Day 18: RAM Run)
- SQL HowTo: подбираем значение ветвлением (Advent of Code 2024, Day 17: Chronospatial Computer)
- SQL HowTo: укрощаем рекурсию в лабиринте (Advent of Code 2024, Day 16: Reindeer Maze)
- SQL HowTo: играем в сокобан с помощью json-карты и типа point (Advent of Code 2024, Day 15: Warehouse Woes)
- SQL HowTo: находим «елочку» с помощью центра масс (Advent of Code 2024, Day 14: Restroom Redoubt)
- SQL HowTo: пошагово решаем СЛУ (Advent of Code 2024, Day 13: Claw Contraption)
- SQL HowTo: волновой алгоритм и подсчет границ (Advent of Code 2024, Day 12: Garden Groups)
- Хабрахейтинг — в чем смысл?
- SQL HowTo: поиск «в ширину» внутри цикла (Advent of Code 2024, Day 10: Hoof It)
- SQL HowTo: оптимизируем рекурсию (Advent of Code 2024, Day 9: Disk Fragmenter)
- SQL HowTo: генерация и подсчет уникальных комбинаций (Advent of Code 2024, Day 8: Resonant Collinearity)
- SQL HowTo: «экспоненциальная» рекурсия (Advent of Code 2024, Day 7: Bridge Repair)
- PostgreSQL в «Тензоре» — публикации за год (#5)
- SQL HowTo: рекурсивные циклы и их контроль (Advent of Code 2024, Day 6: Guard Gallivant)
- SQL HowTo: поиск в словаре и массивах, сортировка «пузырьком» (Advent of Code 2024, Day 5: Print Queue)
- SQL HowTo: работа с массивами (Advent of Code 2024, Day 4: Ceres Search)
- SQL HowTo: «чистые» регулярки (Advent of Code 2024, Day 3: Mull It Over)
- SQL HowTo: логические агрегаты (Advent of Code 2024, Day 2: Red-Nosed Reports)
- SQL HowTo: регулярные выражения и условная агрегация (Advent of Code 2024, Day 1: Historian Hysteria)
- SQL HowTo: агрегация внутри рекурсии (Advent of Code 2024, Day 11: Plutonian Pebbles)
- PostgreSQL Antipatterns: «вращаем» JSON
- PostgreSQL Antipatterns: валим «слона» — highload на ровном месте
- PostgreSQL Antipatterns: устраняем вложенные интервалы
- SQL HowTo: Black and White (Puzzle Hunt 2010)
- SQL HowTo: загадка Эйнштейна, или снова Джиндош
- Курс «PostgreSQL для начинающих»: #4 — Анализ запросов (ч.2 — узлы получения данных)
- Курс «PostgreSQL для начинающих»: #4 — Анализ запросов (ч.1 — как и зачем читать планы)
- SQL HowTo: один индекс на два диапазона
- Бьемся с индексацией парных неравенств в PostgreSQL
- Курс «PostgreSQL для начинающих»: #3 — Сложные SELECT
- PostgreSQL в «Тензоре» — публикации за год (#4)
- SQL HowTo: итоги по строкам и столбцам «в одно действие»
- Курс «PostgreSQL для начинающих»: #2 — Простые SELECT
- Курс «PostgreSQL для начинающих»: #1 — Основы SQL
- SQL HowTo: TOP-N на субинтервалах
- PostgreSQL Antipatterns: ходим по JSON-граблям
- SQL HowTo: ближайший общий предок в дереве (LCA)
- Всегда ли хорош Index Only Scan?
- Кэш в JavaScript: не все Map'ы одинаково полезны
- SQL HowTo: замена в строке по набору
- SQL HowTo: крупицы золота в реестре
- Node.js: Клонирование ключей. Is eval() evil?
- PostgreSQL Antipatterns: Индиана Джонс и максимальное значение ключа, или В поисках «последних» записей
- PostgreSQL в «Тензоре» — публикации за год (#3)
- DBA: хранение списков — таблица, массив, строка?
- PostgreSQL Antipatterns: простой(?) INSERT… VALUES
- PostgreSQL, что в логе твоем?
- Приручаем многопоточность в Node.js (часть 5/5: автомасштабирование под нагрузку)
- Приручаем многопоточность в Node.js (часть 4/5: координатор против синхронного кода)
- Приручаем многопоточность в Node.js (часть 3/5: разделяемая память, атомарные операции и блокировки)
- Приручаем многопоточность в Node.js (часть 2/5: очередь, каналы и координатор)
- Приручаем многопоточность в Node.js (часть 1/5: базовые концепты)
- Эффективная FIFO-обработка для Node.js и Chrome
- PostgreSQL Antipatterns: где скаляру в GiST место?
- Self-hosted EXPLAIN: наглядно и безопасно
- SQL HowTo: наперегонки со временем
- PostgreSQL Antipatterns: куда крутить NULLS
- SQL HowTo: обход дерева иерархии «по курсору» через двойную рекурсию
- «Ленивый сахар» PostgreSQL
- PostgreSQL Antipatterns: когда мешает внешний ключ
- PostgreSQL Antipatterns: в этом плане кто-то лишний
- Псс, парень… индекс нужен?
- «Импортозамещаем» анализ планов PostgreSQL
- SQL HowTo: разные варианты работы с EAV
- PostgreSQL Antipatterns: рекурсивные грабли на ровном месте, или Сказка о потерянном времени
- SQL HowTo: «простое» прогнозирование
- PostgreSQL Antipatterns: делаем группировку быстрее от 0.1 до 5 раз
- SQL HowTo: считаем «уников» на интервале
- Реверс-инжинирим структуру БД PostgreSQL по плану запроса к ней
- PostgreSQL в «Тензоре» — публикации за год (#2)
- SQL HowTo: генерируем лабиринты (алгоритм Прима и геометрические типы)
- SQL HowTo: делаем из мухи слона (алгоритм Ли)
- Кластеризуем миллионы планов PostgreSQL
- SQL HowTo: три WHERE в одном запросе
- КЛАДРируем адреса произвольной формы (ч.2 — подстрочный поиск)
- PostgreSQL Antipatterns: «где-то я тебя уже видел...»
- КЛАДРируем адреса произвольной формы (ч.1 — импорт)
- PostgreSQL Antipatterns: «слишком много золота»
- Борем deadlock при пакетных UPDATE
- Анализируем «слона» вместе с коллегами
- Множественные источники данных в интерфейсе — client-side «SQL»
- DBA: прибираем «мертвые души»
- Чего «энтерпрайзу» в PostgreSQL не хватает
- SQL HowTo: решаем головоломку «Небоскрёбы» почти без перебора
- DBA: меняем «слонов» на переправе
- Энтерпрайз-домино. 0x13 вредных советов для ниндзя-разработчика
- DBA: когда почти закончился serial
- Случайности не случайны
- Разгоняем JS-парсер с помощью WebAssembly (часть 3: SIMD)
- Разгоняем JS-парсер с помощью WebAssembly (часть 2: алгоритм и его оптимизации)
- Разгоняем JS-парсер с помощью WebAssembly (часть 1: базовые возможности)
- DBA: «Кто-то слишком много ест!»
- Агрегаты в БД — прокси-таблицы
- Агрегаты в БД — многомерные суперагрегаты
- Агрегаты в БД — эффективная обработка потока «фактов»
- Агрегаты в БД — зачем, как, а стоит ли?
- DBA: Ночной Дозор
- SQL HowTo: рейтинг-за-интервал
- Первый парсер на деревне
- SQL HowTo: префиксный FTS-поиск с релевантностью по дате
- PostgreSQL Antipatterns: скованные одной цепью EXISTS
- One Tool to Analyze Them All
- PostgreSQL в «Тензоре» — публикации за год
- PostgreSQL Antipatterns: DBA-детектив, или Три дела о потерянной производительности
- PostgreSQL Antipatterns: работаем с отрезками в «кровавом энтерпрайзе»
- Анализируем «слона» по частям
- SQL HowTo: ломаем мозг об дерево — упорядочиваем иерархию с рекурсией и без
- PostgreSQL Antipatterns: убираем медленные и ненужные сортировки
- PostgreSQL Antipatterns: «Бесконечность — не предел!», или Немного о рекурсии
- PostgreSQL 13: happy pagination WITH TIES
- Immutable Trie: найди то, не знаю что, но быстро, и не мусори
- SQL HowTo: курсорный пейджинг с неподходящей сортировкой
- PostgreSQL Query Profiler: как сопоставить план и запрос
- Динамическая балансировка нагрузки в pull-схеме
- Телепортация тонн данных в PostgreSQL
- PostgreSQL Antipatterns: уникальные идентификаторы
- У меня зазвонил телефон. Кто говорит?.. Поможет «слон»
- Правильно [c]читаем параллельные планы PostgreSQL
- PostgreSQL Antipatterns: «Должен остаться только один!»
- Вооруженным глазом: наглядно о проблемах PostgreSQL-запроса
- SQL HowTo: красивые отчеты по «дырявым» данным — GROUPING SETS
- PostgreSQL Antipatterns: анализируем блокировки — SELF JOIN vs WINDOW
- PostgreSQL Antipatterns: накручиваем себе проблемы
- SQL HowTo: 1000 и один способ агрегации
- DBA: кто скрывается за блокировкой
- Классифицируем ошибки из PostgreSQL-логов
- Понимаем планы PostgreSQL-запросов еще удобнее
- Как мы в СБИС автоматический расчет себестоимости делали
- DBA: в погоне за пролетающими блокировками
- Мониторим базу PostgreSQL — кто виноват, и что делать
- PostgreSQL Antipatterns: насколько глубока кроличья нора? пробежимся по иерархии
- PostgreSQL Antipatterns: навигация по реестру
- Экономим копеечку на больших объемах в PostgreSQL
- Пишем в PostgreSQL на субсветовой: 1 host, 1 day, 1TB
- PostgreSQL Antipatterns: вычисление условий в SQL
- Рецепты для хворающих SQL-запросов
- DBA: грамотно организовываем синхронизации и импорты
- PostgreSQL Antipatterns: сражаемся с ордами «мертвецов»
- PostgreSQL Antipatterns: сказ об итеративной доработке поиска по названию, или «Оптимизация туда и обратно»
- PostgreSQL Antipatterns: меняем данные в обход триггера
- Большие аппетиты маленьких Buffer в Node.js
- Микропост: режем UNICODE-строки для PostgreSQL
- DBA: находим бесполезные индексы
- Фантастические advisory locks, и где они обитают
- Массовая оптимизация запросов PostgreSQL. Кирилл Боровиков (Тензор)
- SQL HowTo: пишем while-цикл прямо в запросе, или «Элементарная трехходовка»
- PostgreSQL Antipatterns: ударим словарем по тяжелому JOIN
- PubSub почти бесплатно: особенности NOTIFY в PostgreSQL
- PostgreSQL Antipatterns: редкая запись долетит до середины JOIN
- DBA: перенос значений SEQUENCE между базами PostgreSQL
- SQL HowTo: собираем «цепочки» с помощью window functions
- БД мессенджера (ч.2): секционируем «наживую»
- БД мессенджера (ч.1): проектируем каркас базы
- SQL HowTo: рисуем морозные узоры на SQL
- DBA: когда пасует VACUUM — чистим таблицу вручную
- PostgreSQL Antipatterns: обновляем большую таблицу под нагрузкой
- DBA: вычищаем клон-записи из таблицы без PK
- PostgreSQL Antipatterns: передача наборов и выборок в SQL
- PostgreSQL Antipatterns: сизифов JOIN массивов
- PostgreSQL Antipatterns: статистика всему голова
- PostgreSQL Antipatterns: вредные JOIN и OR
- PostgreSQL Antipatterns: CTE x CTE
- О чем молчит EXPLAIN, и как его разговорить