• MSSQL and mysql в чем отличие?

    @Miron11
    в SQL Server sa встроенный пользователь, с правами на всем сервере и всех его объектах
    его не нужно никуда добавлять, он уже есть
    смотреть здесь
  • Какой sql запрос построить?

    @Miron11
    Akina,
    why? there is field quantity...
    the data model allows to reduce this inefficiency, since distinct is always spool ( can't remember eager or lasy ) to perform sorting and following selection :)
    Follow the money, in sql currency is machine resource.
  • Какой sql запрос построить?

    @Miron11
    distinct isn't needed anymore
    can be removed
    except table J / field номер_изделия
    should be used in the join with equality sign, and the pairs of details should be distributed within изделие.
  • Какой open source проект написан на труъ Си++?

    @Miron11
    mayton2019,

    может Вы имели ввиду другой комментарий?
    у меня даже слово performance нет в комментарии, во всяком случае в нашей череде мнений
  • Какой open source проект написан на труъ Си++?

    @Miron11
    не упоминайте всуе, простота си обманчива.
    Типичный случай применения "template" тривиален, все множества с сочленениями через указатель имеют выбор между си - свободный указатель и указатель с жестким определением типа данных.
    Каждый из этих частных случаев на си (без ухищрений с struct) требует полного описания, но со struct не дает транслятору полного доступа к инструкциям, что ведет к не запланированным прерываниям во время выполнения.
    Template освобождает конструктора от повторения линий инструкций, а транслятор получает доступ ко всем деталям инструкций по, проверяя их на возможные ошибки во время сборки.
  • Можно ли в C++ перезагрузить оператор уже существующего класса?

    @Miron11
    Армянское Радио,
    you didn't read right
    if( left.size() != right.size() )
    {
    throw std::range_error("sizes mismatch!");
    }
    will remain, but its intent, really, is to be performed before "call", not after.
    These checks should be part of a contract, not execution steps inside function body.
    Point is, innovations running ahead of "standards" are needed. Whoever gets those right drives standard forward.
  • Можно ли в C++ перезагрузить оператор уже существующего класса?

    @Miron11
    стандарт хорошо, а вот внедрение сверки размеров до выполнения инструкции "call" лучше
  • Как переписать код с с++ на с(си)?

    @Miron11
    этот код больше похож на краткую повесть Шарлотты Бронте
  • OpenSLL, как создать хеш с помощью ГОСТ 34.11-2001?

    @Miron11
    указатель на репозиторий/документацию библиотеки и стандарт (или цитату с описанием ключа)?
  • Почему C/C++ проекты очень долго компилируются?

    @Miron11
    нет, precompiled headers, не ускоряют build.
    Если Вы ещё раз прочитаете пост о
    а. создании промежуточного буфера трансляции ( в быстрой памяти )
    б. процессе построения древа формальных инструкций выполнимого
    в. собственно трансляции этого древа на ранних этапах в двоичный код, а со временем в инструкции языка ассемблера
    Вы увидите, что создание слоя предварительного анализа заголовков никак не может помочь ускорению трансляции в стадии в, поскольку она полностью сменяет все, что построено в секциях а и б.
    И поскольку в финальной стадии все надо строить заново, то длительность выполнения всей операции только растет, при чем весьма серьёзно.
    Единственный случай, когда это помогает со скоростью, это когда в коде ничего не изменилось. Тогда компилятор может действительно быстро удостовериться, что все осталось как было и ничего не делать намного быстрее.
    Единственный надежный способ ускорять стадию в это минимизировать количество операций связанных с этим шагом.
    Именно для этого используется режим компиляции только нового / обновленного кода, совмещенный с созданием буфера предварительного анализа формальных операций ( так называемый "объектный код" ).
    В этом случае компилятор оценивает в первую очередь, что именно изменилось, и изменяет или добавляет только эти инструкции в конечный выполнимый.
    У этого подхода есть проблема.
    В случае, если Вы требуете включить опции оптимизирующие код ( их ведь включают отдельно ) транслятору придется отказаться от быстрого выполнения стадии в и вернуться к полному выполнению всех стадий трансляции кода. Но это ведь можно делать отдельно. Поскольку доверие к сегодняшним трансляторам очень высокое. И если первый, пусть не самый оптимальный вариант выполнимого, может использоваться для поиска дефектов и добавления различных фишек, то высоко оптимизированный вариант продукта всегда можно создать, когда дефекты и фишки признаны на удовлетворительно уровне.
  • Есть ли необходимость связывать сущности в БД, если я их связываю через spring data jpa в коде?

    @Miron11
    Исключение так и будет исключением, в базе или нет. Вопрос где они нужнее. Если задача качество данных, то ключи нужны и там и там.
    Если же задача сгладить впечатление и дать пользователю возможность использовать ПО поверх возможных огрехов, то наверное они не нужны ни там ни там.
    Если же задача сделать ПО по - проворнее, то с ключами зависимости надо не забыть поставить индекс на каждый ключ, а без ключей "прозвонить" запросы и поставить индексы против полей использующихся для join или where.
  • Запрет на редактирование строки в Mysql по ID?

    @Miron11
    Одной смены паролей не достаточно. Если один из сервисов под прикрытием "работы" занимается не санкционированным изменением данных.
    Надо ещё и привилегии изменить, и установить аудит за изменениями в таблице.
    Эти вещи не так просты, и могут не заканчиваться на самом сайте. Кто - то может входить в контекст запроса через рекламный блок, и выполнять действия, не санкционированные и не описанные кодом. Ведь так или иначе все на линии и так или иначе может быть достигнуто из открытой сети.
    Поэтому существенно выполнить полный цикл работ сейчас, пока внимание заострено и пользователь понимает, что есть риски, которые его беспокоят.
    Вытягивать эти вещи "пост-фактум" превращается в пытки обеих сторон, кроме того, возникают уже вопросы с доверием ( в худшем случае ) и с качеством работы.
    Всегда хочется как лучше, но действовать надо, как в худшей ситуации.
  • Какой компилятор для языка Си посоветуете?

    @Miron11
    Мда
    ---
    https://code.visualstudio.com/docs/cpp/config-wsl
    ---
    Using C++ and WSL in VS Code
    In this tutorial, you will configure Visual Studio Code to use the GCC C++ compiler (g++) and GDB debugger on Ubuntu in the Windows Subsystem for Linux (WSL). GCC stands for GNU Compiler Collection; GDB is the GNU debugger. WSL is a Linux environment within Windows that runs directly on the machine hardware, not in a virtual machine.
    ---
    Ох уж эти молодые. На ходу подметки рвут :)))
  • Как правильно составить запрос mySQL с выборкой данных из другой таблицы?

    @Miron11
    Верно)
    Ещё одним недостатком запроса, который предложил выше, в случае, если у админа нет клиентов, он не выдаст ни одной строчки. Наверное надо прояснить, если строка с токеном админа и NULL значениями поможет в таком случае пояснить, что админ есть, но соответствующих записей пока не создано. Так же можно, наверное, подтвердить присутствие клиентов, у которых нет логов.
    одним из возможных изменений будет, как Вы и предложили, поле в родстве logs, соответствующий запрос:
    select logs.id
    , logs.serial
    , logs.action
    , logs.ip
    , logs.date
    from owners owners
    left join clients clients on clients.token = owners.token
    left join logs logs on logs.serial = clients.serial
    and logs.token = owners.token
    where owners.token = 'abcd...'
    -----
    но такое изменение увеличит размер каждой записи logs. Если записи частые, то есть смысл сделать родство "sessions", занести в эту таблицу поле serial, поле token, а в logs ввести поле sessions, тогда запрос будет таким

    select logs.id
    , logs.serial
    , logs.action
    , logs.ip
    , logs.date
    from owners owners
    left join clients clients on clients.token = owners.token
    left join (sessions sessions
    inner join logs logs on logs.session = clients.session)
    on sessions.token = clients.token and sessions.serial = clients.serial
    where owners.token = 'abcd...'

    MySQL не силен в выполнении таких запросов, поэтому его лучше разбить на следующие подзапросы, с использованием временных таблиц

    DROP IF EXISTS TEMPORARY TABLE temp_clients;
    DROP IF EXISTS TEMPORARY TABLE temp_sessions;
    DROP IF EXISTS TEMPORARY TABLE temp_logs1;
    DROP IF EXISTS TEMPORARY TABLE temp_logs2;
    CREATE IF NOT EXISTS TEMPORARY TABLE temp_clients (token, serial);
    CREATE IF NOT EXISTS TEMPORARY TABLE temp_sessions (sessions, token, serial);
    CREATE IF NOT EXISTS TEMPORARY TABLE temp_logs1 ( token, serial, id, session, action, ip, date);
    CREATE IF NOT EXISTS TEMPORARY TABLE temp_logs2 ( token, serial, id, action, ip, date, important_owner_property);

    INSERT INTO temp_clients (token, serial)
    select owners.token
    , clients.serial
    from owners owners
    left join clients clients on clients.token = owners.token
    where owners.token = 'abc...';

    INSERT INTO temp_sessions (session, token, serial)
    select sessions.session
    , clients.token
    , clients.serial
    from temp_clients clients
    left join sessions sessions on sessions.token = clients.token and sessions.serial = clients.serial;

    insert into temp_logs1
    ( token, serial, session, id, action, ip, date)
    select sessions.token
    , sessions.serial
    , sessions.session
    , logs.id
    , logs.action
    , logs.ip
    , logs.date
    from temp_sessions sessions
    inner join logs logs on logs.session = sessions.session

    insert into temp_logs2
    ( token, serial, id, action, ip, date)
    select clients.token
    , clients.serial
    , logs.id
    , logs.action
    , logs.ip
    , logs.date
    from temp_clients clients
    left join temp_logs1 logs on logs.token= clients.token and logs.serial = clients.serial;

    update logs
    set important_owner_property = owners.mportant_owner_property
    from temp_logs2 logs
    inner join owners owners on owners.token = logs.token
    where owners.mportant_owner_property is not NULL;

    SELECT * FROM temp_logs2;
  • Как правильно составить запрос mySQL с выборкой данных из другой таблицы?

    @Miron11
    Предлагаю разобрать на примере, с несколько уменьшенным количеством столбцов.

    Записи
    --------
    Админ
    токен - 1
    токен - 2
    токен - 3

    Клиент
    Токен - 1 | Сериал 1
    Токен - 2 | Сериал 1
    Токен - 3 | Сериал 3

    Лог
    № 1 | Сериал - 1 | Запись ...
    № 2 | Сериал - 1 | Запись ...
    № 3 | Сериал - 3 | Запись ...
    № 4 | Сериал - 3 | Запись ...
    -----
    Запрос по токен 1
    Выводятся записи под № 1,2
    -----
    Запрос по токен 2
    Выводятся записи под № 1,2
    -----
    Запрос по токен 3
    Выводятся записи под № 3,4
    ----
    Поясните, что неправильно.
  • Как правильно создать представление базы данных MySQL с несколькими подстолбцами?

    @Miron11
    NickOver, а вы запомните список как CSV а потом его можно занести с помощью выражения LOAD, там пример есть.
  • Как получить последнюю запись по последней дате?

    @Miron11
    Теоретически это был бы шедевр лексического анализа

    LEFT JOIN [Price] pr
    ON s.ID Brewery = pr.ID Brewery
    AND s.Product code = pr.Product code

    но увы, таких нет в природе :)
  • Как правильно составить SQL запрос?

    @Miron11
    Андрей Ежгуров, дистинкт вынужден прочесть таблицу в буфер. Это не подходит для кода, который на линии.
  • Как правильно составить SQL запрос?

    @Miron11
    select count(*) from (select game, game_id from bets group by game, game_id) as dt
  • Как создается серверная часть программно-аппаратного устройства?

    @Miron11
    Гопаров Руслан,
    Либо обратитесь к производителю аппарата, либо поищите прошивку этого устройства.
    Без прошивки устройства такого уровня я не встречал.
    Когда прояснится с прошивкой можно думать о драйвере. Без прошивки, это, почти наверняка, не рабочее изделие.
    Наверняка это не единственное такое изделие, которое существует. Можно поискать подобные. Как правило аппаратные решения создаются по шаблону. Хотя бывают и уникальные решения, но очень редко.