Задать вопрос
  • Как оптимизировать запрос (nested loops)?

    @d-stream
    да, тут конечно может быть выигрыш.
    безусловно он есть по факту.
    А если вы вместо переменной используете временную таблицу, у оптимизатора будет больше вариантов выполнить запросы более оптимально.
    Как показала фактическая практика последних лет 15 - @table работает эффективнее #table/##table. И планировщик прекрасно с ними обращается.
    Пассаж про cte не понял - в SQL server, в отличие от postgres (хотя и там вроде в последних версиях есть варианты), cte всегда "инлайнятся", как вьюхи - вместо имени cte подставляется выражение и план строится для всего запроса целиком.
    Опять же фактическая практика показала, что во многих случаях join @table оказывается быстрее join cte (@table наполняется тем же что было в cte)
  • Как составить SQL запрос по звонкам?

    @d-stream
    гы... очепятка)

    SELECT 
    id, ROW_NUMBER ()  OVER(PARTITION BY pbx_call_id ORDER BY callstart ASC) 
    FROM table 
    Where ROW_NUMBER()=1
  • Как оптимизировать запрос (nested loops)?

    @d-stream
    Примитивнейший пример:
    скармливание репортеру десятка-двух датасетов, на входе с десяток параметров, которые дают отбор

    так вот insert into @f from select1 ... (достаточно большой)

    и далее кучка
    select2 ... inner join @f
    select3 ... inner join @f
    select4 ... inner join @f
    select5 ... inner join @f

    работает эффективнее чем попытки делать

    select2 ... inner join (select1...)
    select3 ... inner join (select1...)
    select4 ... inner join (select1...)
    select5 ... inner join (select1...)

    / притом этот запрос еще более "управляем" и отлаживаем при изменении структуры параметров отбора (нет рисков упустить копипаст и т.п.)
    --

    зачастую, как оказалось замена cte на @table - тоже приносит положительный эффект

    p.s. могу и боевые целостные примерчики накидать, но не хочу - мне лень.
  • Как оптимизировать запрос (nested loops)?

    @d-stream
    unfilled, как показывает практика - при правильном приготовлении это очень и очень удобственно. По крайней мере в рамках широкого диапазона версий sql
    На практике и миллионные количества строк приносят пользу в плане оптимизации. А уж в ситуациях "таблица-фильтр" которая набирается из кучки разлапистых отборов - просто "то что доктор прописал".
  • Как сделать запрос через конкретное сетевое устройство в .net?

    @d-stream
    В такой формулировке маршрутизация не поможет. По крайней мере пока PBR не появится.
    Видимо только смотреть в сторону прокси-сервера, который можно заставить работать через нужный интерфейс и далее только в программе обращаться через него.
  • Как понять по какой причине закрылась форма?

    @d-stream
    Максим Виксна,
    разве нельзя как-то определить причину?
    Как убитый может определить причину своей смерти?
    Подсказка: паталогоанатом - может.

    У меня была идея, что бы моё приложение после каждого запуска записывала, что оно начала работать (например, Старт), если пользователь сам закрыл программу, то записать в файл Успех, а если будет не Успех (тот самый случай, когда прогу закрыл не пользователь), тогда ничего не запишется, логично. Но! Когда пользователь заново запустит програму она увидит, что последняя запись в файле будет Старт, она поймёт, что последний раз завершилась не пользователем и будет искать причину в логах винды. Файл выступает в роле логов приложения.
    Это и есть то самое "прошлый раз приложение было завершено неизвестным образом".

    И не факт что в логах win будет что-нибудь об этом. К примеру если выключить питание, нажать reset или просто диск сбойнет/флешку выдернут.

    Самое главное - зачем все это? В теплом-ламповом dbf-style инициализировать переиндексацию? Тогда достаточно при старте программы создавать некий файл, а перед этим проверять его наличие наличие и если есть - взводить флаг "требуется переиндексация". А при штатном завершении - файл удалять.
  • Как вывести только одинаковые значения в двух колонках БД?

    @d-stream
    не жалко)
    думаю следующий очевидный шаг "как одним запросом удалить все клоны, оставив по одному" будет пройден быстро)
  • Сертификат для Exchange Server 2016?

    @d-stream
    snoopik6,
    Есть какие нибудь ограничения
    Достаточно короткий срок действия. Соответственно по получению стоит сразу озаботиться автоматизацией его обновления - в инете есть море примеров скриптов.
    Ну или покупать долгосрочные сертификаты за деньги.
  • Взломали компьютер и требуют денег, что делать?

    @d-stream
    hint000, классический образчик - атака на иранские центрифуги (stuxnet)
    Из популярного: https://www.tenable.com/plugins/nessus/97999
  • Взломали компьютер и требуют денег, что делать?

    @d-stream
    15432, в свое время (лет этак 30+ назад) слегка модифицированный бутсектор на дискете + прописанные на ней же 0 поверхностей оказались преотличнейшим механизмом "защиты" )
    тупо грузится комп с этой дискеты и работает программка, а все попытки склонировать или просмотреть дискету взрывают мозг компьютеру на лету... даже клонировщик от mcQuad не справлялся)
  • Взломали компьютер и требуют денег, что делать?

    @d-stream
    15432, а еще у многих secure boot отключен...
    + из мелких пакостей - писалка по кругу на ssd (вплоть до тупого вызова cipehr) - собственно нагрузка на ssd будет малозаметной... до момента когда полетят варнинги об исчерпавшемся ресурсе

    А так - слегка поигравшись с настройками видеорежимов вполне можно реализовать "совсем сломался комп" в понятиях обычного пользователя...

    p.s. по-моему и сейчас heads count = 0 у hdd - доставит море веселья)
  • Создание удаленной базы данных?

    @d-stream
    Ну для web приложения так или иначе трехзвенность напрашивается в виде:
    - клиентская часть (выполняется в браузере)
    - серверная часть (сервер приложений/web-сервер(s))
    - база или базы как хранилище

    зачастую второе и третье живут на одном сервере, но это не обязательно

    но действительно голый sql светить в мир - совсем несерьезно. То есть до sql может достукиваться только web сервер (backend). А уже с ним - могут так или иначе взаимодействовать пользователи web/rest и т.п.
    Вот на этом уровне - авторизации и т.п. ("кто такй, давать или не давать ему данные")

    Ну и дальше уже можно все это развивать и множить в виде отдельного серверочка-билетера (то бишь web/rest-морда+база авторизаций) который будет раздавать "билеты" (jwt например) для доступа к основному сервису и тот, проверив "билеты" будет что-то добывать из базы/баз. А может не напрямую из баз, а обращаться к некоему пулу серверов приложений которые будут только ему отвечать на запросы уровня бизнес-логики, обращаясь для этого уже к базам.
  • Создание удаленной базы данных?

    @d-stream
    Собственно и то и то. Наверное в большей степени - все-таки то что называют трехуровневой архитектурой https://ru.wikipedia.org/wiki/Трёхуровневая_архитектура
  • C# WPF не работает проверка орфографии в textbox, почему?

    @d-stream
    Роман, по клику правой кнопкой на подчеркнутом слове
  • Ноутбук для кодинга и немного игр?

    @d-stream
    15", 4k - приемлемо комфортно в выездных вариантах, но подключив его к 34" 3440*1440 монитору или 2 FullHd и полноценным клавиатурам - понимаешь, что все-таки так существенно комфортнее. А в поездках - да... монитор на себе не потащишь, поэтому и ловишь компромиссы с сразмерами и количеством экранов и производительность vs расход батареи.

    2 Dmtm - ноутбук, а не стационарный комп выигрывает в случаях когда все-таки требуется мобильность, либо-таки ноутбук+стационар
  • Какая формула у этих расчетов командировочных?

    @d-stream
    Можно конечно собрать огромный пласт данных для скармливания небольшой нейронке - нехай она прогнозирует (благо почти 1:1 схлестывается с учебными примерами типа прогноз стоимости проезда на такси)))
    Ну или "спарсить" с сайта-донора все на 10 лет вперед и забить у себя константами...

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

    312.jpg

    IqxoLh1LIlo.jpg
  • Какая формула у этих расчетов командировочных?

    @d-stream
    Евгений Журов,
    т.е. каких-то особых условий, которые вы перечислили, точно нет
    Я в этом очень сомневаюсь. В большинстве стран так или иначе трудовое законодательство достаточно щепетильно к разгого рода переработкам и их оплатам. Притом зависимости доплат за переработки - совершенно нелинейны и законодательно могут описываться как "за первый час - x, за каждые последующие до 5 - 2*x, но не более чем Y ".
    Если взять "сеточку" поплотнее (например интервалами по 0.5 часа) и с началом в разные дни (понедельник, пятница) и построить графики - то вполне могут быть видны во-первых зубцы и ступеньки, во-вторых пики, коррелирующие с днями недели.
  • Как настроить сервер на pgadmin?

    @d-stream
    Stepan Sidorov, это создание нового подключения [к существующему серверу]