В социальной сети, в которой я работаю в PHP/MySQL, у меня есть страница друзей, она покажет всех друзей, которые есть у пользователей, как и в большинстве сетей. У меня есть таблица друзей в MySQL, у нее есть только несколько полей. auto_ID, from_user_ID, to_friend_ID, датаЛучший способ показать друзьям пользователя в алфавитном порядке
Я хотел бы сделать страницу друзей есть несколько различных вариантов для сортировки результатов,
По auto_ID, которые в основном в порядке был добавлен друг. Это просто автоматическое приращение идентификатор
новых друзей по дате, будет использовать поле даты
друзьями имени, будет иметь список в алфавитном порядке.
В алфавитном порядке мне нужен совет. У меня будет список алфавита A-Z, когда пользователь нажимает на K, он покажет все имя пользователя, начиная с K и так далее. Фокус в том, что он должен быть быстрым, поэтому JOIN в таблице пользователя не является вариантом, хотя большинство будет утверждать, что это быстро, это не та производительность, которую я хочу для этого действия. Одна из моих идей - добавить дополнительное поле в таблицу дружбы и сохранить в нем первую букву имени пользователя. Пользователь может изменить имя в любое время, поэтому мне нужно будет убедиться, что он обновлен на возможных тысячах записей, в любое время, когда пользователь меняет имя.
Есть ли лучший способ сделать это?
Можете ли вы объяснить неспособность сделать соединение? Если вы добавите индекс на первичные ключи (это должно быть все равно), соединение не будет медленным. Это то, для чего оптимизированы базы данных. – Parrots
Если вы планируете показывать только список идентификаторов, в любом случае вам потребуется присоединиться к другой таблице для отображения. Просто убедитесь, что вы используете подходящий тип соединения для своих данных. – Joe