home.social

#индексы — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #индексы, aggregated by home.social.

  1. Почему CRM в Битрикс24 тормозит на 50К сделок и что с этим делать

    Когда CRM в Битрикс24 начинает открывать список сделок по 10 секунд, обычно первым делом подозревают сервер, нагрузку или саму платформу. Но на практике узкое место часто лежит ближе к базе: фильтры по UF -полям без индексов, лишние JOIN , неявный LIKE в ORM , N+1 -запросы и обработчики, которые внезапно превращают массовое обновление в нагрузочный тест. В статье разбираем, как подойти к проблеме системно: включить slow query log , прочитать EXPLAIN , найти реальные причины тормозов и точечно ускорить CRM без миграции и бессмысленного наращивания железа.

    habr.com/ru/companies/otus/art

    #Битрикс24 #CRM #производительность_CRM #MySQL #slow_query_log #EXPLAIN #индексы #пользовательские_поля #D7_ORM #оптимизация_запросов

  2. Почему PostgreSQL не использует ваш индекс

    Вторая часть серии по PostgreSQL из моих внутренних докладов. В этот раз — индексы: откуда берётся cost в EXPLAIN и почему это «попугаи», а не миллисекунды. Почему PostgreSQL игнорирует ваш индекс при высоком покрытии таблицы. Как физическое расположение данных на диске влияет на скорость даже при наличии индекса. Плюс GiST для нечёткого поиска с триграммами, GIN для полнотекстового поиска и EXCLUDE constraints для задач типа бронирования. Всё на примере таблицы с 4 миллионами строк.

    habr.com/ru/articles/1011998/

    #postgresql #sql #индексы #explain #производительность

  3. BRIN, GIN, B‑Tree: полный гайд по индексам PostgreSQL для highload

    Индексы есть, а запросы всё равно тормозят? Или наоборот — индексов слишком много, и они только увеличивают нагрузку на запись? Многие разработчики и администраторы баз данных попадают в ловушку: ставят B-Tree на всё подряд и надеются на лучшее. Но в highload-системах это может привести к катастрофе. В этой статье я делюсь реальным опытом работы с PostgreSQL. Статья будет полезна разработчикам, архитекторам и администраторам, которые хотят не просто «поставить индекс», а понять, как работает PostgreSQL под капотом и как проектировать базы данных, выдерживающие миллионы запросов в секунду.

    habr.com/ru/companies/otus/art

    #архитектура #PostgreSQL #индексы #оптимизация_запросов #highload #базы_данных #BTree #BRIN

  4. BRIN, GIN, B‑Tree: полный гайд по индексам PostgreSQL для highload

    Индексы есть, а запросы всё равно тормозят? Или наоборот — индексов слишком много, и они только увеличивают нагрузку на запись? Многие разработчики и администраторы баз данных попадают в ловушку: ставят B-Tree на всё подряд и надеются на лучшее. Но в highload-системах это может привести к катастрофе. В этой статье я делюсь реальным опытом работы с PostgreSQL. Статья будет полезна разработчикам, архитекторам и администраторам, которые хотят не просто «поставить индекс», а понять, как работает PostgreSQL под капотом и как проектировать базы данных, выдерживающие миллионы запросов в секунду.

    habr.com/ru/companies/otus/art

    #архитектура #PostgreSQL #индексы #оптимизация_запросов #highload #базы_данных #BTree #BRIN

  5. BRIN, GIN, B‑Tree: полный гайд по индексам PostgreSQL для highload

    Индексы есть, а запросы всё равно тормозят? Или наоборот — индексов слишком много, и они только увеличивают нагрузку на запись? Многие разработчики и администраторы баз данных попадают в ловушку: ставят B-Tree на всё подряд и надеются на лучшее. Но в highload-системах это может привести к катастрофе. В этой статье я делюсь реальным опытом работы с PostgreSQL. Статья будет полезна разработчикам, архитекторам и администраторам, которые хотят не просто «поставить индекс», а понять, как работает PostgreSQL под капотом и как проектировать базы данных, выдерживающие миллионы запросов в секунду.

    habr.com/ru/companies/otus/art

    #архитектура #PostgreSQL #индексы #оптимизация_запросов #highload #базы_данных #BTree #BRIN

  6. BRIN, GIN, B‑Tree: полный гайд по индексам PostgreSQL для highload

    Индексы есть, а запросы всё равно тормозят? Или наоборот — индексов слишком много, и они только увеличивают нагрузку на запись? Многие разработчики и администраторы баз данных попадают в ловушку: ставят B-Tree на всё подряд и надеются на лучшее. Но в highload-системах это может привести к катастрофе. В этой статье я делюсь реальным опытом работы с PostgreSQL. Статья будет полезна разработчикам, архитекторам и администраторам, которые хотят не просто «поставить индекс», а понять, как работает PostgreSQL под капотом и как проектировать базы данных, выдерживающие миллионы запросов в секунду.

    habr.com/ru/companies/otus/art

    #архитектура #PostgreSQL #индексы #оптимизация_запросов #highload #базы_данных #BTree #BRIN

  7. Типичный сервис: чиним одно, «ломаем» другое и решаем две проблемы сразу

    Привет, Хабр! В этой статье мы расскажем о заочной борьбе с разработчиками объектного хранилища Hitachi Content Platform. Сначала мы столкнулись с критическим заполнением файловых систем индексов, а в процессе лечения обнаружили вторую, гораздо более глубокую проблему — одна из нод кластера фактически выпала из схемы хранения данных, оставаясь при этом «зелёной» в консоли. Материал будет полезен инженерам, работающим с HCP и другими объектными СХД, а также всем, кто любит истории о нетривиальных расследованиях в недрах корпоративного ПО.

    habr.com/ru/companies/jetinfos

    #схд #hitachi #нода #файловая_система #индексы

  8. SQL за одну статью: от «SELECT *» до оконных функций и сложных JOIN-ов

    Кажется, что в ИТ всё меняется каждые пару лет. Фреймворки рождаются и умирают, архитектурные подходы сменяют друг друга, но SQL стабильно остается на месте. Он спокойно пережил хайп вокруг NoSQL, эпоху Big Data и повсеместное внедрение нейросетей. Сегодня SQL давно перестал быть узким «языком админов». Это универсальный стандарт общения с данными, который жизненно необходим бэкендерам, аналитикам, QA-инженерам и даже продакт-менеджерам. В этой статье мы пропустим скучную академическую теорию и разберем только то, что реально нужно в работе. Мы пройдем путь от анатомии таблиц и базовых джоинов до оконных функций. А в конце заглянем под капот базы данных и разберем логический порядок выполнения запроса — секретный ингредиент, который навсегда избавит вас от вопроса: «Почему эта строчка не работает?!».

    habr.com/ru/articles/1001796/

    #sql #базы_данных #postgresql #join #select #оконные_функции #индексы #бэкенд #аналитика_данных #для_начинающих

  9. [Перевод] Мы научили ИИ писать настоящий код для Postgres (и выложили в open source)

    Когда ИИ за секунды генерирует «нормальную» схему Postgres, соблазн принять её как есть слишком велик. Проблема в том, что в этих схемах часто прячутся тихие минные поля: неудачные типы данных, странная индексация, путаница с идентификаторами, ловушки с временем и миграциями — всё то, что не ломает сборку сегодня, но превращается в боль через полгода в продакшене. В статье разберем, почему универсальные LLM регулярно промахиваются по нюансам именно Postgres, и как авторы пытаются закрыть эту дыру через pg-aiguide: набор «навыков» с лучшими практиками, версионный семантический поиск по официальной документации и интеграцию с код-агентами через MCP/плагин.

    habr.com/ru/companies/otus/art

    #Postgres #миграции #индексы #типы_данных #LLMагенты #best_practices #postgresql

  10. Как один индекс на created_at сократил время ответа API с 12 секунд до 40 мс

    «Страница заказов грузится вечность», — такой тикет прилетел в понедельник утром. На проде 800 тысяч записей, а типичный запрос с фильтрацией и сортировкой заставлял менеджеров ждать по 12 секунд. В этой статье разберем, почему стандартный индекс по одному полю не сработал, как EXPLAIN ANALYZE помог найти «бутылочное горлышко» и почему порядок полей в составном индексе имеет решающее значение

    habr.com/ru/articles/990398/

    #PostgreSQL #Django #оптимизация_SQL #индексы #составной_индекс #EXPLAIN_ANALYZE #производительность_БД #backendразработка

  11. Как один индекс на created_at сократил время ответа API с 12 секунд до 40 мс

    «Страница заказов грузится вечность», — такой тикет прилетел в понедельник утром. На проде 800 тысяч записей, а типичный запрос с фильтрацией и сортировкой заставлял менеджеров ждать по 12 секунд. В этой статье разберем, почему стандартный индекс по одному полю не сработал, как EXPLAIN ANALYZE помог найти «бутылочное горлышко» и почему порядок полей в составном индексе имеет решающее значение

    habr.com/ru/articles/990398/

    #PostgreSQL #Django #оптимизация_SQL #индексы #составной_индекс #EXPLAIN_ANALYZE #производительность_БД #backendразработка

  12. Как один индекс на created_at сократил время ответа API с 12 секунд до 40 мс

    «Страница заказов грузится вечность», — такой тикет прилетел в понедельник утром. На проде 800 тысяч записей, а типичный запрос с фильтрацией и сортировкой заставлял менеджеров ждать по 12 секунд. В этой статье разберем, почему стандартный индекс по одному полю не сработал, как EXPLAIN ANALYZE помог найти «бутылочное горлышко» и почему порядок полей в составном индексе имеет решающее значение

    habr.com/ru/articles/990398/

    #PostgreSQL #Django #оптимизация_SQL #индексы #составной_индекс #EXPLAIN_ANALYZE #производительность_БД #backendразработка

  13. Как один индекс на created_at сократил время ответа API с 12 секунд до 40 мс

    «Страница заказов грузится вечность», — такой тикет прилетел в понедельник утром. На проде 800 тысяч записей, а типичный запрос с фильтрацией и сортировкой заставлял менеджеров ждать по 12 секунд. В этой статье разберем, почему стандартный индекс по одному полю не сработал, как EXPLAIN ANALYZE помог найти «бутылочное горлышко» и почему порядок полей в составном индексе имеет решающее значение

    habr.com/ru/articles/990398/

    #PostgreSQL #Django #оптимизация_SQL #индексы #составной_индекс #EXPLAIN_ANALYZE #производительность_БД #backendразработка

  14. [Перевод] Зачем мне тут DuckDB?

    Оконные функции в SQL выглядят безобидно ровно до того момента, пока не попадают на реальные объёмы данных. В этой статье разбирается конкретный аналитический запрос в PostgreSQL: от формулировки задачи и использования lead() до детального анализа плана выполнения с EXPLAIN ANALYZE . Без абстракций и «магии оптимизатора» — только факты, цифры, сортировки на диск, буферы и выводы, которые полезно уметь делать любому аналитику, работающему с большими таблицами.

    habr.com/ru/companies/otus/art

    #PostgreSQL #оконные_функции #сортировка_на_диск #индексы #оптимизация_SQL #work_mem #буферы

  15. PostgreSQL и 1С: как построить систему поиска «тихих убийц» производительности

    Стандартный мониторинг часто пропускает «тихих убийц» — запросы, которые по отдельности кажутся нормальными, но в сумме создают аномальную нагрузку на СУБД. В итоге система живет в хрупкой идиллии до первого аврала. В статье — описание универсального способа контроля качества кода и нагрузки на базу без выделенного DBA. Пошагово разберем поиск неоптимальных запросов с помощью pgBadger на живом кейсе.

    habr.com/ru/articles/986306/

    #PostgreSQL #1C #pgBadger #оптимизация #производительность #SQL #индексы #explain_analyze #sequential_scan #администрирование_бд

  16. PostgreSQL и 1С: как построить систему поиска «тихих убийц» производительности

    Стандартный мониторинг часто пропускает «тихих убийц» — запросы, которые по отдельности кажутся нормальными, но в сумме создают аномальную нагрузку на СУБД. В итоге система живет в хрупкой идиллии до первого аврала. В статье — описание универсального способа контроля качества кода и нагрузки на базу без выделенного DBA. Пошагово разберем поиск неоптимальных запросов с помощью pgBadger на живом кейсе.

    habr.com/ru/articles/986306/

    #PostgreSQL #1C #pgBadger #оптимизация #производительность #SQL #индексы #explain_analyze #sequential_scan #администрирование_бд

  17. PostgreSQL и 1С: как построить систему поиска «тихих убийц» производительности

    Стандартный мониторинг часто пропускает «тихих убийц» — запросы, которые по отдельности кажутся нормальными, но в сумме создают аномальную нагрузку на СУБД. В итоге система живет в хрупкой идиллии до первого аврала. В статье — описание универсального способа контроля качества кода и нагрузки на базу без выделенного DBA. Пошагово разберем поиск неоптимальных запросов с помощью pgBadger на живом кейсе.

    habr.com/ru/articles/986306/

    #PostgreSQL #1C #pgBadger #оптимизация #производительность #SQL #индексы #explain_analyze #sequential_scan #администрирование_бд

  18. PostgreSQL и 1С: как построить систему поиска «тихих убийц» производительности

    Стандартный мониторинг часто пропускает «тихих убийц» — запросы, которые по отдельности кажутся нормальными, но в сумме создают аномальную нагрузку на СУБД. В итоге система живет в хрупкой идиллии до первого аврала. В статье — описание универсального способа контроля качества кода и нагрузки на базу без выделенного DBA. Пошагово разберем поиск неоптимальных запросов с помощью pgBadger на живом кейсе.

    habr.com/ru/articles/986306/

    #PostgreSQL #1C #pgBadger #оптимизация #производительность #SQL #индексы #explain_analyze #sequential_scan #администрирование_бд

  19. Как Reserve реализует on-chain индексы: разбор Index DTF

    Идея Reserve простая: взять токены, упаковать их в один ERC-20 и получить on-chain индекс, который можно минтить, сжигать и ребалансировать без кастодианов и ручного управления. Но за простотой спрятана бизнес-логика: от расчёта доли пользователя в индексе до механизма ребалансировки. В статье я разбираю Index DTF в Reserve Protocol: архитектура смарт-контрактов, процессы mint и redeem индекса, механизм ребалансировки через голландские аукционы, управление индексом и риски протокола. Если интересно, как на практике реализован «децентрализованный ETF», то мой разбор про это.

    habr.com/ru/articles/985326/

    #Reserve #индексы #децентрализованный_ETF #Decentralized_Token_Folio #Index_DTF #портфель_токенов #диверсификация_портфеля #ребалансировка_портфеля

  20. Black-White Array: новая структура данных с O(log N) аллокаций

    Black-White Array (BWA) — это упорядоченная структура данных с амортизированным временем операций вставки/поиска/удаления и используемых участков памяти . Преимущества: • Амортизированное время вставки/удаления/поиска сравнимое с реализацией BTree от Google ; • Низкое количество аллокаций памяти при операциях вставки - меньше давления на сборщик мусора, ниже фрагментация памяти; • Массивы под капотом: данные лежат рядом, что улучшает кэшируемость процессором и скорость обхода/доступа к данным; • Позволяет хранить элементы с одинаковыми ключами - не нужно использовать дополнительные структуры для группировки таких элементов; • Низкий оверхед на хранение служебной информации - экономия памяти по сравнению с другими структурами данных; • Удобен для вставки батчами; • Простая сериализация и десериализация; Подробности

    habr.com/ru/articles/984184/

    #алгоритмы #структуры_данных #computer_science #множество #orderedset #производительность #optimization #allocation #индексы #оптимизация

  21. Black-White Array: новая структура данных с O(log N) аллокаций

    Black-White Array (BWA) — это упорядоченная структура данных с амортизированным временем операций вставки/поиска/удаления и используемых участков памяти . Преимущества: • Амортизированное время вставки/удаления/поиска сравнимое с реализацией BTree от Google ; • Низкое количество аллокаций памяти при операциях вставки - меньше давления на сборщик мусора, ниже фрагментация памяти; • Массивы под капотом: данные лежат рядом, что улучшает кэшируемость процессором и скорость обхода/доступа к данным; • Позволяет хранить элементы с одинаковыми ключами - не нужно использовать дополнительные структуры для группировки таких элементов; • Низкий оверхед на хранение служебной информации - экономия памяти по сравнению с другими структурами данных; • Удобен для вставки батчами; • Простая сериализация и десериализация; Подробности

    habr.com/ru/articles/984184/

    #алгоритмы #структуры_данных #computer_science #множество #orderedset #производительность #optimization #allocation #индексы #оптимизация

  22. Black-White Array: новая структура данных с O(log N) аллокаций

    Black-White Array (BWA) — это упорядоченная структура данных с амортизированным временем операций вставки/поиска/удаления и используемых участков памяти . Преимущества: • Амортизированное время вставки/удаления/поиска сравнимое с реализацией BTree от Google ; • Низкое количество аллокаций памяти при операциях вставки - меньше давления на сборщик мусора, ниже фрагментация памяти; • Массивы под капотом: данные лежат рядом, что улучшает кэшируемость процессором и скорость обхода/доступа к данным; • Позволяет хранить элементы с одинаковыми ключами - не нужно использовать дополнительные структуры для группировки таких элементов; • Низкий оверхед на хранение служебной информации - экономия памяти по сравнению с другими структурами данных; • Удобен для вставки батчами; • Простая сериализация и десериализация; Подробности

    habr.com/ru/articles/984184/

    #алгоритмы #структуры_данных #computer_science #множество #orderedset #производительность #optimization #allocation #индексы #оптимизация

  23. Black-White Array: новая структура данных с O(log N) аллокаций

    Black-White Array (BWA) — это упорядоченная структура данных с амортизированным временем операций вставки/поиска/удаления и используемых участков памяти . Преимущества: • Амортизированное время вставки/удаления/поиска сравнимое с реализацией BTree от Google ; • Низкое количество аллокаций памяти при операциях вставки - меньше давления на сборщик мусора, ниже фрагментация памяти; • Массивы под капотом: данные лежат рядом, что улучшает кэшируемость процессором и скорость обхода/доступа к данным; • Позволяет хранить элементы с одинаковыми ключами - не нужно использовать дополнительные структуры для группировки таких элементов; • Низкий оверхед на хранение служебной информации - экономия памяти по сравнению с другими структурами данных; • Удобен для вставки батчами; • Простая сериализация и десериализация; Подробности

    habr.com/ru/articles/984184/

    #алгоритмы #структуры_данных #computer_science #множество #orderedset #производительность #optimization #allocation #индексы #оптимизация

  24. [Перевод] Как ускорить MongoDB в Java: profiling, explain(), индексация и антипаттерны

    Команда Spring АйО подготовила материал о том, почему «быстрый запрос в MongoDB» — это не магия, а дисциплина: индексы, форма запроса, проекции, explain(), профайлер и наблюдаемость в Java/Spring Boot. Разбираем, как отличать IXSCAN от COLLSCAN, где чаще всего прячутся антипаттерны (skip-пагинация, тяжёлые $regex/$nin, findAll), и как выстроить измеримый цикл оптимизаций от Atlas/Compass до Micrometer.

    habr.com/ru/companies/spring_a

    #MongoDB #производительность #индексы #explain #IXSCAN #COLLSCAN #SpringBoot #SpringData #профайлинг #мониторинг

  25. Нейросеть против PostgreSQL: системные ошибки AI в прогнозировании производительности под нагрузкой

    Использование нейросетей для оптимизации баз данных кажется перспективным направлением, но реальная эффективность таких систем требует тщательной проверки. В данном исследовании проанализирована способность нейросетевой модели точно прогнозировать производительность СУБД PostgreSQL в условиях экстремальной параллельной нагрузки. Результаты демонстрируют систематические ошибки AI, связанные с неспособностью учесть динамические аспекты работы СУБД. ℹ️ Новый инструмент с открытым исходным кодом для статистического анализа, нагрузочного тестирования и построения отчетов доступен в репозитории GitFlic и GitHub kznalp/PG_EXPECTO: Комплекс статистического анализа производительности СУБД PostgreSQL pg-expecto/pg_expecto: Комплекс pg_expecto для статистического анализа производительности и нагрузочного тестирования СУБД PostgreSQL

    habr.com/ru/articles/969082/

    #postgresql #postgresql_performance #искусственный_интеллект #нейросети #прогнозирование #анализ_производительности #индексы #высокая_нагрузка #статистический_анализ #deepseek

  26. Записки оптимизатора 1С (ч.14.2). Пересчет индексов на SSD–дисках. Делаем или игнорируем?

    В предыдущей статье обсуждали регламентное обслуживание с акцентом на пересчет статистик. Операция крайне полезная, необходимая и чем интенсивнее меняются данные в базе, тем важнее актуальные статистики. Сегодня поговорим про еще одну регламентную операцию – пересчет индексов. Как всегда с акцентом на высоконагруженные системы 1С. "Нужно?", "Не нужно?", "А если у меня SSD-диск?", "А какой эффект от перестроения индексов?", "А я не успеваю за ночь. Что делать?" Разберем подробно все нюансы.

    habr.com/ru/companies/softpoin

    #SSD #пересчет_индексов #дефрагментация_индексов #производительность #perfexpert #очереди_к_диску #разбиение_страниц #обслуживание_баз_данных # #индексы

  27. [Перевод] Эвристика: OR в SQL — это дорого

    Один запрос выполняется 100 мс, другой — меньше 1 мс. Оба делают одно и то же, но второй написан на странном, почти алхимическом SQL. В чём подвох? Первый использует OR , а второй — хитрую комбинацию AND . Этот перевод — расследование того, почему условие OR так дорого обходится вашей базе данных, и практическое руководство по тому, как проектировать схемы, чтобы избежать этой ловушки производительности.

    habr.com/ru/companies/postgres

    #оптимизация_запросов #планировщик_запросов #индексы #базы_данных #postgresql #postgres #postgresql_17 #postgresql_18

  28. [Перевод] Как мы освободили 20 ГБ в PostgreSQL без удаления данных

    Команда Python for Devs подготовила перевод статьи о том, как можно освободить десятки гигабайт места в PostgreSQL без удаления данных и индексов. TL;DR: удаляем неиспользуемые индексы, чистим bloat, пересобираем таблицы и используем частичные индексы, чтобы хранить только то, что реально нужно.

    habr.com/ru/articles/944704/

    #PostgreSQL #индексы #bloat #оптимизация #vaccum #частичные_индексы

  29. Метод Python numpy.where(): синтаксис и как использовать

    Метод numpy.where() является одним из наиболее мощных и часто используемых инструментов в библиотеке NumPy для условного выбора элементов из массивов. Он предоставляет гибкие возможности для обработки и анализа больших массивов данных, позволяя заменять традиционные условные операторы if-else и значительно ускоряя выполнение кода. Этот метод позволяет заменить элементы массива, которые удовлетворяют определенному условию, на заданные значения, а остальные оставить неизменными. В отличие от обычных циклов, которые могут замедлять выполнение при работе с большими объемами данных, numpy.where() использует векторизацию, что делает выполнение операций более быстрым и эффективным.

    habr.com/ru/companies/timeweb/

    #timeweb_статьи #numpy #python #condition #индексы #массив #функция #list_comprehension #аналитика

  30. Типичные ошибки начинающих в SQL

    Проанализировали наиболее распространённые ошибки начинающих в SQL и расположили их в порядке возрастания сложности. Материал будет интересен тем, кто только начинает работать с данными, а также тем, кто хочет избежать популярных ошибок и сэкономить время на изучении SQL.

    habr.com/ru/companies/netology

    #sql #ошибки #новичкам #начинающим #субд #select #join #null #group_by #индексы

  31. Оптимизация JOIN в PostgreSQL

    Хотите ускорить работу сложных SQL-запросов в PostgreSQL? 🚀В этой статье мы разберем, как правильно использовать JOIN, какие методы соединения выбирает PostgreSQL и как их оптимизировать. Узнайте, как индексы, статистика и параметры конфигурации влияют на производительность! 🔥

    habr.com/ru/articles/883916/

    #join #оптимизация_запросов #индексы #dba #оптимизация #план_запроса #производительность #sql_tips_and_tricks #запросы_sql #postgresql_performance

  32. Хеш-индексы в PostgreSQL: быстрый поиск или скрытые проблемы?

    Хеш-индексы в PostgreSQL - мощный, но недооценённый инструмент. Когда они быстрее B-Tree, а когда наоборот? Простое объяснение, тесты и ключевые нюансы, которые помогут ускорить запросы...

    habr.com/ru/articles/882106/

    #базы_данных #sql #оптимизация_запросов #индексы #btree #hash #производительность #BTree_vs_Hash #разработка #dba

  33. Клетка ХХ. Индексы обитаемости и подобия Земле

    Однажды известного физика спросили: что по-вашему мнению является самым удивительным фактом в мироздании? Его ответ. То, что сияющие и сгорающие, взрывающиеся звезды, туманности, планеты и всё, всё остальное, не исключая и нас самих, создано из одного и того же материала, по одним и тем же фундаментальным законам. Я бы добавил к этому, что мы, являясь формой живой материи, думаем о ней, о том, как в ней все устроено и о многом чем-то еще. Не исключая при этом устройства и самого Homo sapiens (человека разумного). Не исключено, что где-то из таких же материалов возникла иная или подобная нашей форма жизни. Поиск контактов с другими внеземными цивилизациями (ВЦ) представляет интерес не только для науки – это проблема изучения жизни и разума во Вселенной. Обзор неба по программе SETI (Search for Extra-Terrestrial Intelligence) начался в декабре 1973 г. Первый SETI-эксперимент OZMA по этой проблеме (поиск сигналов на волне 21 см). Обратил внимание на ВЦ и знаменитый физик Энрико Ферми, задав вопрос: Где все? Свой вклад «сферой Дайсона» в тему SETI внёс и физик-теоретик Фримен Дайсон.

    habr.com/ru/articles/872678/

    #Звезды #планеты #индексы #сигналы #внеземные_цивилизации #спутники #обитаемость #атмосфера #гравитация #магнитное_поле

  34. #федичитальня #postgresql #postgresql15

    Сортировка по индексу.

    #Btree #индексы можно и для сортировки за O(n) использовать без буферизации всех строк где-либо. Но с неопределёнными значениями и порядком сортировки есть нюанс - положение их в индексе задаётся при создании и, если запрашиваемое положение отличается, то индекс не может быть использован.

    Вообще странно, что не воткнули костыль для простейших случаев, если nulls не там, просто читаем индекс с другого конца, до тех пор, пока не наткнёмся на не #null, после чего начнём читать индекс так, как изначально и планировалось, до тех пор, пока не на кнёмся на null, который послужит нам эдаким EOF. Сложность чтения бы сохранилась линейной, всего пару переменных и ифников для стейт-контрола добавить. Не думаю, что это был бы значимый оверхед.