У меня есть 2 таблицы:
users:
| id | name | email | pass |
requests:
| id | userId | date | text |
requests.userId
это внешний ключ к users.id
, Теперь с php у меня есть запрос, который выглядит примерно так:
select u.name,r.date,r.text from requests r
JOIN users u ON u.id=r.userId
order by u.name ASC
Я просто хочу отсортировать их по алфавиту по имени пользователя. Это работает очень медленно, я читал об индексах, но не нашел такой проблемы. У кого-нибудь есть идеи по этому поводу, как я могу ускорить это? Благодарю.
редактировать:
специально для этого я сделал базу данных с более чем 5000 пользователей и 2000000 запросов, чтобы я мог видеть, когда она замедляется. Когда сортирует по целым числам или по дате, это в пару раз быстрее.
Попытайся
select u.name,r.date,r.text from requests r,users u where u.id=r.userId order by u.name ASC
Других решений пока нет …