• Как при селекте в mysql выводить нормальную строку?

    ayazer
    @ayazer
    jabrik, так вас кортеж смущает? ну так

    result_vk_user_ids = [rec[0] for rec in cursor.fetchall()]
  • Правильно ли я понимаю, как отработает индекс?

    ayazer
    @ayazer
    driverx18, с точки зрения производительности - конечно составной будет работать быстрее. но тут скорее о балансе между скоростью выполнения и ценой разработки. на моей памяти я никогда не упирался в то, что в каком-то месте использую 2-3 обычных индекса вместо составного. А вот ситуаций когда через пару лет пришлось добавлять индексов т.к. старые составные перестали покрывать все ситуации - видел достаточно. Как и ошибок что кто-то неправильно использовал составной индекс в следствии чего начинали прилетать фуллсканы по таблицам в пару террабайт.

    если резюмировать - если вы не уверены в характере нагрузки - делайте как проще будет развивать дальше. если/когда упретесь в нехватку производительности - вернетесь и пересмотрите еще раз (но уже абсолютно точно понимая характер нагрузки).
  • Правильно ли я понимаю, как отработает индекс?

    ayazer
    @ayazer
    driverx18, просто сделайте 3 различных индекса entityId/name/country. причем в надобности последнего я не уверен.
  • Как сделать множественную загрузку фотографий в базу данных?

    ayazer
    @ayazer
    ну это-же очевидно. что-то где-то надо поправить. возможно даже в коде. возможно даже покажут если будут примеры того самого кода
    и да, не надо хранить фотографии в базе
  • Нахождение ближайшего соседа с более чем 1 параметром?

    ayazer
    @ayazer
    ну так добавьте коэф. для каждого с параметра и используйте общую сумму для поиска ближайшего соседа. Тогда подставляя разные коэф. выйдет оптимизировать маршрут по разным критериям (или находить что-то среднее).
  • Как найти в строке 16-ричные числа?

    ayazer
    @ayazer
    ^ если вы решили проблему через регулярки то у вас теперь 2 проблемы (с)

    0x0A ... 0xFF же
  • Как разработчики игр и софта оптимизируют свои игры и программы под определённое железо?

    ayazer
    @ayazer
    Без малейшего что там с играми, но банально часть вычислений (в т.ч. и в играх) можно выносить на видеокарту используя CUDA. и тут сюрприз-сюрприз, CUDA работает только на Nvidea. Вот и выходит что одна и та-же задача на нвидии может решатся на порядок быстрее.
  • Почему не работает запрос в БД и выходит ошибка 500?

    ayazer
    @ayazer
    500 - хттп код означающий любую необработаную ошибку на бекенде. поставьте брейкпоинт и посмотрите какая там ошибка на самом деле (ну или переведите приложение в тестовый режим чтоб оно вываливало весь стектрейс наружу в браузер)
  • Как ведет себя JOIN & WHERE?

    ayazer
    @ayazer
    synapse_people, на этот вопрос нельзя однозначно ответить. замедляют ли иннер джойны селекты? конечно замедляют. как и любые другие джойны. Да даже наличие индексов и внешних ключей замедляет работу базы. В принципе большое кол-во иннерджойнов может быть показателем что структуру таблиц по хорошему пересмотреть. но без конкретного примера это все гадание на кофейной гуще.
    а так - все субд чертовски хорошо умеют пользоваться индексами. на моей памяти некорректное использование индексов я наблюдал только в какой-то (относительно) древней версии авроры на таблице с партициями. там было очень неравномерное распределение данных между партициями и аврора в какой-то момент переключалась на фуллсканы по партиции с десятками/сотнями миллионов записей. не помню точно, но вроде это случалось это раз в пару месяцев и лечилось перезагрузкой. И пофиксилось после обновления на актуальную версию. Но в целом даже если субд начнет использовать индекс не оптимально - всегда можно использовать хинты чтоб это поправить.
  • Как написать SQL?

    ayazer
    @ayazer
    Александр Шабельский, угу, я на автомате исправил структуру и написал по ней запрос. потом не мог понять что собственно не так с ним.

    а ваш пример некорректно отработает если павлович будет не с нужного города. как я понимаю - тут нужно совпадение у обоих полей
  • Как написать SQL?

    ayazer
    @ayazer
    Кирилл Горелов,

    тогда можно начать с чего-то типа

    select sub.eid from (
    select eid, count(eid) as count from <table_name>
    where (key= "patronymic" and value = "Павлович")
    or (key = "place_award" and value = "г.Коломна")
    group by eid) sub
    where sub.count = 2


    и дальше корректировать в зависимости от того, какие реально данные будут в таблице
  • Как написать SQL?

    ayazer
    @ayazer
    Кирилл Горелов, а вы сами видите на этом скриншоте двух павловичей? уж потрудитесь оформить вопрос так, чтоб остальным не приходилось гадать на кофейной гуще.
  • Как написать SQL?

    ayazer
    @ayazer
    оказывается что если просто пихать данные в базу не думая, то начинает отстреливать ноги. никогда такого не было и вот опять. и да, вы бы хоть показали каким склем доставать данные пытаетесь (и заодно скл чтоб сгенерировать таблицу с минимальным набором данных). а то на тех данных что влезли в скриншот сработает и
    select eid from <table_name> where patronymic = "Павлович" and place_award = "г.Коломна"
  • Rust - ещё один убийца c/c++?

    ayazer
    @ayazer
    dumb_guy, такое лучше вообще не переводить ;)
  • Rust - ещё один убийца c/c++?

    ayazer
    @ayazer
    почему вы перевели "ржавчина" но не перевели "ассемблер"?
  • Какой алгоритм движения курьеров для доставки из ресторанов?

    ayazer
    @ayazer
    AstonMartin, и потом окажется что пицца которую успели купить по дороге уже успела остыть... ну и да, про все шишки никто никогда и не расскажет. только решать задачу в общем случае и потом анализировать как оно работает и продолжать улучшать алгоритмы

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

    ayazer
    @ayazer
    AstonMartin, N курьеров, K точек, задача о минимизации суммарной траектории (при условии что только 1 точка выдачи товаров и любой курьер можно взять любое кол-во любых заказов). Я правильно понимаю задачу?

    зы: среди самых очевидных проблем которые может понадобится решить еще могут быть
    - несколько точек забора товаров
    - приоритетная доставка
    - ограниченная грузоподъемность курьера (по весу и объему)
    - ограничение что не любой курьер может доставить любой товар (пеший курьер и доставка тяжелого предмета)
    - ограничение в какие места может доставить конкретный курьер (оплата карточкой и курьер без терминала)
    - (исходя из предидущего пункта) расписание кто берет пос терминал (+усложнение если точек забора товара много, и вернутся пос терминал может на другую точку).

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