Оптимальная структура,логика сайта и базы данных

1.15K
.
Screamer (19.12.2012 / 15:30)
Энштеин, этот форум переделать давно пора. писалось черт знает когда.
Ну а что по сути изменилось за год?
Разве раньше коунт в цикле был не зло?
.
Энштеин, запросы в цикле всегда зло и это не меняется, менются только люди
.
Think different
Энштеин (19.12.2012 / 15:32)
Нет я не про это,я про то что если в запрос селект воткнуть подсчет,ТО этот запрос перестанет кешироваться,так как база считает все подсчеты динамическими,и кроме мемкешна ниче не сможет его скеширова
ОМГ, тоесть 1 закешированый запрос и 10 коунтов в цикле лучше 1 не закешированого запроса с джоином? О_о
.
Folour
Think different
Энштеин, Если я правильно понял, то вот запрос с джоином
SELECT COUNT(c.msg) AS counter, p.post, p.user_id, p.id, u.name FROM posts AS p LEFT JOIN comments AS c LEFT JOIN users AS u ON u.id = p.user_id AND c.post_id = p.id
.
Folour (19.12.2012 / 15:36)
ОМГ, тоесть 1 закешированый запрос и 10 коунтов в цикле лучше 1 не закешированого запроса с джоином? О_о
Естественно,ситуация.
На странице 50 пользователей.
Некешированный запрос сделает в базу 50 запросов/
Кешированный же сделает 1 в базу,а остальные будет брать c файла кеша.
.
Think different
Энштеин (19.12.2012 / 15:44)
Естественно,ситуация.
На странице 50 пользователей.
Некешированный запрос сделает в базу 50 запросов/
Кешированный же сделает 1 в базу,а остальные будет брать c файла кеша.
А где цикл коунтов?
Итого при 10 записей на страницу
1 кешированый и 500 коунтов, 500 против 50, что выбираем?
.
Think different
Да и что мешает закеширвоать результат 1 запроса с джоином?
.
Folour (19.12.2012 / 15:46)
А где цикл коунтов?
Итого при 10 записей на страницу
1 кешированый и 500 коунтов, 500 против 50, что выбираем?
Ты не понял,все что выводится в цикле и записывается в кеш файл.
.
Think different
И получится вообще 1 запрос в n минут
.
Think different
Энштеин (19.12.2012 / 15:47)
Ты не понял,все что выводится в цикле и записывается в кеш файл.
Ну так запиши туда результат джоина, в чем проблема. Джоин в любом случае выиграет
1 джоин проти 11 с коунтом.
Всего: 74