SmorodinKA
27.08.2013 - 16:14
На одной странице мне несколько раз приходится использовать LEFT JOIN в запросах, так как берется информация из разных таблиц, привязанных к таблице users. Это сильно влияет на производительность, и, если да, то как можно это исправить? Спасибо.
Lenarfate
27.08.2013 - 16:19
используйте внешние ключи
также можно использовать системы кэширования, например, memcached или redis
и вообще, чтобы конкретно ответить, нужно знать структуру бд
SmorodinKA
27.08.2013 - 16:22
Lenarfate
вот есть таблица:
`institutes`
- id
- name
есть таблица:
`works`
-id
-name
А в таблице `users` есть поля:
- id_work
- id_institute
И мне необходимо вытаскивать названия работы и института пользователя.
Lenarfate
27.08.2013 - 16:34
у вас уже неверная структура. если у вас works и institutes привязываются к юзеру, то нужно не в табл. users хранить id др. таблиц, а в них хранить id юзера. это во-первых.
а во-вторых, как я сказал выше, используйте внешние ключи
PS: всего три таблицы?
PPS:после того, как сделаете то, что я сказал, можно объединить все в один запрос и вернуть массив.
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.