Ответы пользователя по тегу MySQL
  • Как правильно организовать связь многие ко многим в Symfony2 Doctrine2?

    keltanas
    @keltanas
    Software Developer
    Вам не надо ManyToMany между User и Follower, т.к. Follower - это и так юзер. Т.е. нужна связь ManyToMany между Users и Users :) Это же вы и сделали в примере с 2 таблицами. Но, такой вариант будет не очень-то гибок.

    Лучше будет сделать отдельную сущность Followship в которой установить 2 связи к User типа OneToMany. Но, только в том случае, если для Followship надо хранить еще какие-то св-ва, например createdAt.

    Собственно, пример, который вы нашли вполне справедлив и готов к использованию.

    Чтобы получить, кто подписан на пользователя, обратитесь к св-ву $friendsWithMe.
    Чтобы получить, на кого подписан пользователь, см. $myFriends.

    Какую в вашем примере несет информацию идентификатор подписанности?

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

    Что значит "тянуть"? Почему вы так решили? Зависит, как вы жадность для связи установите.
    Ответ написан
    1 комментарий
  • Кто тестировал Оператор IN в MySQL? Насколько он быстр и есть ли альтернативы?

    keltanas
    @keltanas
    Software Developer
    Если уж необходимо выбирать 1000 записей по их ID, может загнать их в Redis и дергать оттуда? Скорее всего это будет быстрее, и мускуль не будет виснуть. Если данных очень много, их можно расшардить по нескольким Редисам.

    Попробуйте проанализировать ключи на вхождения в непрерывные диапазоны, как советовал Ualde. Например: записи с ключами 1, 2, 3, 5, 6, 7 можно получить в виде условия из 2х диапазонов.
    Ответ написан
    Комментировать