Search
Write a publication
Pull to refresh
18
0
Send message

WDC WD5003AZEX-0 два шутки
104544 (почти 12 лет) часа наработки на сервере муниципального телевидения

У них денег нет, но держатся )

CTE далеко не всегда помогает в оптимизации. У меня есть кейс, когда CTE, переписанный на временные таблицы, ускорялся с 10 минут до 7 секунд.

в ряде случаев из-за использование функций, индексы становится невозможно использовать и по\тому лучше избегать использования функций на проиндексированных колонках

В постгрес есть функциональные индексы. Очень выручали при рефакторинге текущих решений, когда, например, столбец с номерами автомобилей превращался в мешанину русских и английских букв в различных регистрах (не продумали заранее). Индекс по функции fn_normalize(gosnumber) сильно исправляет ситуацию.

Обычные SQL‑запросы также изобиловали различными встроенными функциями, тут тоже ничего сложного: ищи аналог, заменяй, проверяй. Если не получалось найти достойный аналог, то приходилось дописывать бизнес‑логику под новые условия.

А почему просто не написать аналог функции? Мы именно так и поступили при переходе с MS SQL.

Мы пользовались белорусским Конвертум-ом. Конвертирует на ура, если логика не сильно замудрёная. Как минимум сильно облегчает процесс.

Тащу сейчас подобный проект с ms sql на postgres. Процедур, примерно, 250+. Основная масса перенесена автоматически, но многое приходится переписывать руками.

Да, при переписывании один к одному чаще всего постгрес оказывается медленнее. Приходится вникать в логику (а там, бывает, чёрт ногу сломит) и переписывать по-другому. В некоторых случаях наоборот отказываться от CTE в пользу временных таблиц с добавлением индексов. Так как это система мониторинга, которая позволяет строить отчёты за разные периоды по разному набору параметров, то самая частая боль это построение почти одинаковых отчётов, которые нельзя просчитать заранее. Никогда не знаешь какой период данных выберет пользователь и по каким параметрам. За день - пара тысяч джоинов, за месяц - десяток миллионов. Иногда кажется, что проще было с нуля всё переписать по текущей документации.

Думаю, сдадим проект, как импортозамещение, и будем дальше уже заниматься конкретной оптимизацией.

Узнаю родную Транснефть. Когда уволился - перекрестился. Бесконечные ПДК (постоянно действующие комиссии) со своими замечаниями. Потом мероприятия по замечаниям, потом реализация мероприятий, отчёты и т.д. Реально бесконечная куча отчетности. Тысячи единиц оборудования и на каждую единицу бумажный паспорт. Сиди, заполняй отметки о проведённом техобслуживании. Само техобслуживание проводить некогда. Вечные неоплачиваемые переработки за отгулы, которые никто, конечно же, не давал. Ушёл вовремя? Лови лекцию на тему - "у тебя что, работы нет? Подкинуть?". Однажды звонок в 8 вечера и искреннее удивление в трубку - а ты что, уже дома? В любой момент могли попросить служебное удостоверение и удостоверение о прохождении ТБ, сдачи экзаменов по электробезопасности. Нет с собой? Лежит в кабинете? А должно быть с собой, держи по премии. Пофиг, что ты айтишник, у нас людей на уборке снега не хватает, вот вам участок, гребите. И т.д и т.п.

Из плюсов - мощно прокачался в АСУТП - от пайки до программирования реальных объектов трубопроводного транспорта. У нас отдел айти был в составе отдела АСУТП, поэтому этим всем занимались айтишники. У инженеров АСУТП тупо не хватало компетенций.

Я просто в общем чате при всех открыто написал, что больше скидываться на всякие др не буду и мне скидываться не надо. И на чужое мнение по этому поводу мне плевать.

Слишком высокие уровни абстракции описываете.

Я считаю, что программирование нужно начинать преподавать с ассемблера с рассказами о машинных кодах. Ну то есть почему эта инструкция такая и почему у неё такой код, как это соотносится вообще с архитектурой процессора и т.д. Хотя бы в ознакомительном режиме, для понимания как оно на самом низком уровне работает. А то мне тут один соискатель не смог двоичное число в десятичное на бумаге перевести, при этом человек пришел из разработки. Сказал - нам в институте объясняли, но я не помню. Про битовые маски впервые слышит, а у нас как раз работа с оборудованием, биты вычленять и т.д. Никакого снобизма.

В SCADA еще и дизайн максимально всратый повсеместно.

Мои знания Modsoft и RS-Logix тоже теперь никому не нужны. Но я ушёл с АСУТП, поэтому это не проблема. Привет, Транснефть :)

ТВ реклама с фразой - "а почему ананэо (она нэо)?" доставляет, канеш ))

Как бывший обладатель 350 л.с. полноприводной машины с вами не согласен. И в городе со светофора тапку в пол, и на трассе любая колонна из фур за 5 секунд обгоняется. И вообще кайфово, когда на 6 передаче на 2000 оборотах по трассе 140 едешь. Теперь всё, что ниже по мощности - вообще не едет. Ну может дизель какой на низах, но потом сливает.

Переехал в другой город и машину продал. Не нужна она тут.

Гугл с вами не согласен. Вариант с мысью в итоге считается неправильным.

Работаю всегда в наушниках с музыкой (блэк, дэт). По 8 часов минимум фигачу обеими ногами на воображаемом кардане. Худеть не помогает ))

Так я не имею в виду целенаправленное изучение чего-то, что не пригодится, с тратой на это времени. А вот поинтересоваться чем-то, пусть и бесполезным - всегда пожалуйста.

А что, объем мозга для знаний ограничен? Всегда претило вот это - я не хочу забивать голову этой ерундой. Что, память кончится? Сегодня эта ерунда не пригодится, а завтра всплывёт, вдруг.

Переносил данные с MS SQL на Postgres. Сначала через ODBC драйвер постргеса с помощью MS SQL Studio. 45 миллионов строк вставлялось примерно 4 часа. Каждая запись вставлялась отдельным инсертом, поэтому так долго. А это только одна таблица, там еще несколько таблиц по 3-4 миллиарда записей. В итоге переносил кусками через CSV. Правда одна таблица с комментариями содержала переносы строк в ячейке. Постгрес такого издевательства не смог пережить при импорте.

1
23 ...

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity