• Нужен ли первичный ключ в таблицах PostgreSQL?

    @mrfreeman2
    Первичный ключ — это свойства строки, которые однозначно идентифицируют эту запись.
    Первичное значение — не обязательно 1 поле, и не обязательно придумывать новое поле, вероятнее всего, то, что есть уже достаточно, и ключ можно составить из того, что есть.
    Под капотом первичный индекс — это такой же индекс, но значения в нем уникальны и не могут быть null.
    В целом без первичного ключа можно, но первичный ключ нужен для реплицирования данных, для миграции данных при обновлении версии pg и банально для предотвращения появления дублей записи. Итог: лучше его иметь, чем не иметь.
    Ответ написан
    Комментировать
  • Как составить запрос для поиска в бд mysql?

    @mrfreeman2
    Если я верно понял суть. То решение вот такое:
    -- поиск class_table1 у которых (tip_field=1 и text=test) или (tip_field=2 и text=test2)
    select class_table1.*
    from class_table1
             left join class_table2 on class_table1.id = class_table2.id
    where class_table1.category_id = 104
      and (class_table2.caption, class_table2.value) in
          (('tip_field', '1'), ('tip_field', '2'), ('text', 'test'), ('text', 'test2'))
    GROUP BY class_table1.id
    HAVING COUNT( DISTINCT  class_table2.caption) = 2 -- результат валидный если оба искомых свойства присутствуют у записи
    Ответ написан
    3 комментария
  • Как увеличить паузу между отправкой запроса и получением результата?

    @mrfreeman2
    Надо изучать документацию API-сервера. Вероятнее всего, в API предусмотрена порционная подгрузка данных.
    Что это такое? Вы формируете запрос, который серверу сложно обработать быстро. Сервер быстро форсирует часть ответа, отдает его вам, и у вас + отпадет некий курсор, который нужно использовать для повторного вызова, так сервер поймет, что нужно дополнить предыдущий ответ.
    Ответ написан
    1 комментарий
  • Как изменить структуру БД для оптимизации запросов?

    @mrfreeman2
    Самое простое (для 90% случаев этого будет достаточно), нужно добавить индексы для основных запросов.
    По текущему описанию проблемы больше не сказать. Для более детального ответа нужно знать текущую структуру БД и сами запросы, которые тормозят.
    Ответ написан
    Комментировать
  • Как починить отсутствие подсказок методов в объектах определенной библиотеки в pycharm?

    @mrfreeman2
    PyCharm не всемогущий, чтобы работало, нужно помочь, указать, что такое message.
    Пропишите тип этого параметра.

    from pyrogram.types import Message
    def get_invite_link(client, message: Message): ...
    Ответ написан
    Комментировать