Этот запрос работает медленно:улучшить производительность Регистрация
SELECT UserAccountNumber, balance, username FROM users JOIN balances ON
users.UserAccountNumber=balances.UserAccountNumber WHERE date < “2011-02-02”
Что я могу сделать, чтобы улучшить его работу?
Я думал об использовании идентификатора пользователя для соединения вместо userAccountNumber. Appart сформируйте его, насколько я знаю, JOIN и WHERE users.id = balances.idUser выполняют с той же скоростью ...
Итак, что еще я могу изменить, чтобы улучшить его? Спасибо.
Нам нужна дополнительная информация о вашей схеме. Используете ли вы индексы и внешние ключи? –
Какие у вас есть признаки? Если у вас есть как «userId», так и «userAccountNumber» как в «пользователях», так и «балансах», вы полностью не нормализировали свою настройку, и вы можете вернуться позже, чтобы укусить вас (что произойдет, если они перестанут указывать на то же самое 'пользователь' запись?). –
У меня индексируется UserAccountNumber. Но. не будет ли быстрее иметь другую таблицу с UserAccountNumber и ID, и только здесь, используя идентификатор, чтобы сделать JOIN? Благодарю. – Alvaro