Задать вопрос
  • Почему обрывается работа макроса в Excel?

    @Akina
    ti_zh_vrach,
    Почему нужно указывать Range("диапазон")?
    Ну у листа-то тоже есть Rows.Count, верно? не укажешь конкретный Range - получишь свойство для всего листа.
  • Как корректно управлять VLAN'ами на Mikrotik?

    @Akina
    Если я в Bridge добавлю VLAN 15, и в этом же окошке укажу Tagged порт Ether1, то тегированный трафик пойдет из порта Ether1.

    Но внезапно я могу добавить VLAN 15 к интерфейсу Ether1 в меню интерфейсов.

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

    PC1 - (port VLAN 15 untag - Mikrotik - port VLAN 15 tag & untag) - (port VLAN 15 tag - D-Link - port VLAN 15 untag) - PC2
    и
    PC1 - (port VLAN 15 untag - Mikrotik - port VLAN 15 tag & untag) - (port VLAN 15 untag - D-Link - port VLAN 15 untag) - PC2

    Вообще нетегованный влан на порте нужен для того, чтобы категорировать нетегованный входящий трафик (без этого он будет дропаться) и соответственно знать куда его пересылать.
  • Как сделать запрос через тройную связь, при это получая все связанные значения 3 таблицы в массив к 1 записи?

    @Akina
    Выложите пример данных (создайте online fiddle, например, на https://dbfiddle.uk/?rdbms=mysql_8.0, и дайте ссылку, или хотя бы дайте CREATE TABLE + INSERT INTO) и покажите требуемый результат запроса для этих данных. Также укажите точную версию MySQL.
  • Как связать таблицы, которые находятся в разных БД?

    @Akina
    Олег, если всё происходит в рамках одного инстанса СУБД MS SQL, то следует покопаться в мануале на код и выяснить, как можно задать не только имя таблицы, но и имя базы данных. На уровне SQL это просто - пишем не tablename, а databasename.tablename - скорее всего, что-то подобное должно быть и в языке.

    С другой стороны, использование имени таблицы (что с именем БД, что без) - это динамический SQL, что в общем не поощряется нигде. Уж лучше рассмотреть вариант создания алиасов таблиц в текущей схеме - тогда не н7адо будет заморачиваться на указание БД и работать в единой схеме. Правда, это потребует дополнительной поддержки таких алиасов, чего скорее всего в используемом фреймворке и близко нету.
  • Возможно ли win10 сделать приоритет Wi-Fi вместо Ethernet?

    @Akina
    Владимир Кивва,
    Руками не получится, монтажник на объекте это не сможет сделать

    Всё они могут... вон, медведя на велосипеде и даже на мотоцикле кататься учат - получается. Они просто ленивые слишком, и если найдут формальный повод не делать - то и не будут. Пока не выпишешь пинок животворящий.

    Ноут для проверки связи и настройки оборудования - это такой же инструмент монтажника-наладчика, как обжимка или молоток. И он ОБЯЗАН уметь этим инструментом пользоваться в рамках необходимого для выполнения своих задач. А если не умеет и не хочет - то он просто профессионально непригоден.
  • Как связать таблицы, которые находятся в разных БД?

    @Akina
    А СУБД-то какая? SQL Server?
    А другие БД - это в рамках того же инстанса СУБД или нет?
  • Возможно ли win10 сделать приоритет Wi-Fi вместо Ethernet?

    @Akina
    Владимир Кивва,
    Какая разница, что несколько основных шлюзов, когда явно указана метрика ниже у вайфай и ему приоритет?

    Пожалуйста, не путайте метрику интерфейса и метрику маршрута. Почитайте, как первое влияет на второе, и что именно влияет на маршрутизацию.

    Вручную добавлять маршрут наверное не получится каждый раз, то есть скрипт написать.

    Как по мне, так гораздо быстрее руками переписать маршруты, чем рисовать под это дело отдельный скрипт. Впрочем, дело ваше, скрипт-то несложный.
  • Как добавить mysql на сервер?

    @Akina
    Если их установить не сломаются ли текущие настройки?

    С чего бы им сломаться?
    С другой стороны, установленная и запущенная СУБД съест ресурсы, что потребует перенастройки остальных сервисов, особенно по памяти.

    нужно устанавливать оба пакета или только 1?

    Только один - они конфликтны по используемым ресурсам (порт).
    Хотя я бы затребовал обновления репозитория и включения в него актуальной версии СУБД, а не ставил бы эту седую древность.
  • Удалять ли ненужные записи в базе данных или оставлять?

    @Akina
    постоянное движение записей в базе данных - удаляются или скрываются объявления.

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

    как правильнее делать

    Удаление - вообще не вариант. Вполне достаточно партиционирования по статусу, чтобы записи со статусами удалённого/неактивного/скрытого вроде и были, но в то же время не включались в обработку и не влияли на производительность.
  • Почему обрывается работа макроса в Excel?

    @Akina
    А что именно непонятно? Вот ссылаетесь Вы на Range, но напрямую через Workbook, у которого Range нет. Где есть Range? у Worksheet. С какого Worksheet будет браться этот Range? Скорее всего, с ActiveSheet... а что будет, если фокус переместится на другой Worksheet? а если не на Worksheet, а на Shape или Form? так что default property может плавать - а за ним и всё остальное.
  • Поставить индексы на каждое поле?

    @Akina
    Vadim Stepanenko,
    в таком случае лучше сделать 1 композитный индекс на title, categoryId, userId, isActive, isMarked, rating или один композитный на isActive и rating и одиночные на остальные столбцы?

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

    Чтобы индекс работал эффективно, у него должна быть высокая избирательность - по его выражению должно отбираться не более 5-7% записей от их общего числа в таблице, и чем меньше процент, тем лучше. Композит по isActive и rating к таковым явно не относится - разве что в качестве параметров будет передано isActive = FALSE при очень малом количестве неактивных записей и запредельное пороговое значение рейтинга. А поскольку скорее всего большинство запросов будут запрашивать активные записи (т.е. по этому полю считай избирательность будет все 99%) и более-менее вменяемый рейтинг (т.е. статистически 10-50%), то оптимизатор просто проигнорирует индекс - скан таблицы будет дешевле.

    Композитный же на всё подряд тоже не имеет смысла - индекс может (хотя не факт что будет) использоваться только если первые поля в его выражении используются для отбора по равенству. Т.е. если в отборе нет условия по первому полю title, то индекс не может использоваться в принципе, даже если есть отборы по всем остальным полям. Если в отборах есть все поля, кроме, например, userId, то из индекса может использоваться только префикс (title, categoryId). И т.п.
  • Поставить индексы на каждое поле?

    @Akina
    Лентюй,
    допустим, вы пишите код, вообще в принципе не расставляя индексы) опустим зачем и почему себе рыть могилу, но допустим)

    Когда пишется код, уже можно предсказать, какие запросы будут частыми, а какие критичны. То есть уже изначально есть некоторый материал для анализа и принятия решения. И формирования начального "минимального пака".

    а как вы потом из десятков тысяч разнотипных запросов будете этот самый мифический "минимальный пак" формировать?

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

    если вы даже стату не сможете собрать, ибо сервак повиснет сразу и наглухо?

    А если сервер наглухо повиснет, то я пойду и начищу репу тому придурку, который вместо покупки нормального сервера украл в музее старый пентиум-100.

    Чтобы повесить сервер БД не расчётной задачей, а каким-то сайтом под тестовой нагрузкой - это надо слишком сильно стараться.
  • Почему обрывается работа макроса в Excel?

    @Akina
    Rows - свойство объекта Range, который принадлежит Worksheet.

    Однако Вы ссылаетесь не на объект Worksheet, а на объект Workbook. У которого Range нет.

    его можно опустить и компилятор всё поймёт правильно. Это в моём понимании.

    Это в общем случае неверно. И компилятор тут не при чём. Вопрос интерпретации default property в рантайме, которая критичным образом зависит от текущего фокуса.

    В общем, указывайте абсолютно корректно - l_xxx.Worksheets("имя листа").Range("диапазон").Rows.Count.
  • Как оптимизировать запрос?

    @Akina
    Разделить на два запроса. В одном ps.sticker_id IN, в другом pi.plugin_id IN. И потом UNION их и ещё один GROUP BY.
  • Как правильно организовать получение списка данных с дополнительным полем - количество?

    @Akina
    Роман Юрьевич Ипатьев, а вот это уже целиком и полностью зависит от конкретного запроса. План надо смотреть.

    И нет, в общем случае от того, где COUNT OVER находится, в основном запросе или в CTE, скорость подсчёта никак не зависит. Зависит исключительно от того, как именно сервер собрался сортировать и подсчитывать. Есть, конечно, частные случаи, скажем, старые версии постгресса, которые в обязательном порядке материализуют CTE - понятно, что в этом случае подсчёт в запросе быстрее за счёт меньшего количества дисковых операций.
  • Почему обрывается работа макроса в Excel?

    @Akina
    Косячный код.
    Скажите, откуда будет браться l_xxx.Rows.Count? У книги такого свойства как Rows - тупо нет...
  • Как правильно организовать получение списка данных с дополнительным полем - количество?

    @Akina
    Хочется, чтобы этот запрос возвращал и количество данных всего - без offset и limit, но помещал их отдельно от массива элементов, можно ли как-то это сделать?
    Мне очень не хочется делать отдельный второй запрос на подсчет элементов.

    Если формализовать эту хотелку, то она будет звучать так: я хочу в одном запросе получить данные для различных уровней группировки. Что вряд ли является идеологически верным желанием (исключение - группирующий запрос с WITH ROLLUP). Так что я бы сказал, что выполнение отдельного запроса для получения количества записей - это правильное решение, а попытка всё запихать в один запрос - нет. Но выбор за Вами...
  • Как правильно организовать получение списка данных с дополнительным полем - количество?

    @Akina
    Роман Юрьевич Ипатьев, пардон, не до конца понял вопрос. Или не очень правильно его понимаю...

    COUNT() - функция детерминированная, даже в оконном варианте, так что итог её работы ну никак не может зависеть от реализации. Ни от диалекта, ни от версии, ни от иных факторов. Да и что может повлиять на подсчёт записей? сколько есть, столько и есть...

    Насчёт медленнее - в подавляющем большинстве случаев само по себе вычисление результата функции не должно зависеть от того, в CTE она или нет.
  • Почему не всегда срабатывает код?

    @Akina
    Контроль успешности операции? Это что, не совсем понимаю.

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

    Или вот например что будет, если User::find ничего не найдёт, или наоборот - найдёт больше одной записи? я лично фиг знает, ибо в ларавелях ноль - но приведёт ли это к ошибке кода и откату транзакции?