admin пишет:zloitapok пишет:Не нравится повторяемость контента в таблице БД content, через которую вы реализовали многоязычность документов. С категориями все нормально, со страницами - бред. Документации по хелперам и либам нету никакой. Комменты в коде есть, но этого мало. Не увидел ни одного сложного запроса к БД: вы уместились в рамки возможностей active record игнитера, пожертвовав скоростью работы с БД.
По моему простые запросы лучше чем сложные
.
И что вы имеете ввиду под "сложные запросы" join'ы? , я бы не сказал что это большой плюс.
Как на меня лучше сделать два простые запросы, чем использовать join'ы.
Кроме того я считаю что если бизнес-логику можно реализовать средствами php - то лучше так и сделать.
Документация по хелперам и либам вся на офф. сайт CI. http://codeigniter.com/user_guide/
#Не нравится повторяемость контента в таблице БД content, через которую вы реализовали многоязычность документов. С категориями все нормально, со страницами - бред.# - Если есть предложения - пишите.
Простые запросы подразумевают что пхп будет производить необходимые операции с данными в большей степени чем mysql. Это приведет к большему числу обращений к БД, что замедляет обработку больших объемов данных. Под сложными запросами я понимаю join'ы, if'ы, union'ы. mysql как язык работы с данными не хуже пхп. Один запрос с join'ом будет работать быстрее чем два без него. Сложные запросы дают выигрыш в первую очередь в построении деревьев, статистике, то есть там, где пагинация не применима.
По повторяемости контента в таблице content. А что подсказывать, вы сделали для категорий все как надо. Я могу лишь предполагать что с таблицей контент такая лажа потому что начали делать как одноязычную цмс а потом решили не меняя начатой логики перевести на многоязычность. В итоге для многоязычных сайтов, которым не достаточно функционала ЦМС и модулей, которые вы предоставляете, приходится писать кучу лишних проверок, лишние обращения к БД. Это не сказывается положительно на скорости разработки и скорости работы самой ЦМС. Еще раз повторю, реализация категорий на много удачнее, а страницы не имеют таких особенностей, чтоб к ним нельзя было применить ту же логику в отношении многоязычности.
За документацию спасибо, посмотрю. Собственно мне не хватало краткого перечня какие функции в хелперах и либах есть, где используются, с какой целью создавались.
P.S. http://vkontakte.ru/app1901974_9372777 - приложение с frontend на флеше и backend на php + mysql. Я занимался его разработкой и оптимизацией при посещаемости до 9,5к уникальных юзеров в день. Пока не убрал простые запросы в наиболее типичных операциях и не заменил на сложные - процессор сервера был на 70% занят обработкой mysql. После замены стало 10%.
P.S. Еще было бы классно, если в админке где-нибудь в футере была ссылка на документацию. Т.к. пользоваться ею будут часто, почему бы не сделать удобным доступ к ней.
teapplix.com