edogs
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору fathersGrave[/q] Цитата: А для нюки, вот смотрим мы сейчас на 21 запрос у нас на главной странице. Ни один запрос выкинуть нельзя не потеряв совместимости/функциональности так или иначе. Да, забыв о статистике - разной, включив кэширование с задержкой, потеряв часть функциональности форума можно втоптать запросы в 12-15. | Цитата: Конечно, кэшировать форум или всю страницу с блоком "N человек на сайте" бессмысленно, но выборочное кэширование статичных блоков, новостей и другого контента все же сократит и количество запросов, и (при хорошей реализации) время генерации страницы. | Да, но (имхо) настолько в редких ситуациях, что смысла это не имеет тратить много труда на хорошую реализацию ради редкой экономии пары запросов. Статичный блок? Так ведь статичные блоки в html и так. Просмотр допустим конкретной новости кэшировать? Так ведь а) надо записать в таблицу +1 просмотр б) а это изменение информации, и кэш надо тут же обновить. Что тут можно кэшировать? Мы понимаем, конечно, что можно забить на это, и количество просмотров не считать, но это уже уменьшение функциональности. И таких примеров можно привести много. Кэш главной страницы? Модуля новостей на нём? А ведь каждая новость имеет счетчик прочтений, не обновлять же кэш главной страницы после открытия кем-либо новости в полный размер? Цитата: Пока рисуем скрипты, уже наткнулись на пару граблей, универсальная структура таблиц не позволяет делать быстрые выборки Всё-таки для шустрой системы/модуля получается раза в 2 разумнее писать нечто специальное. Или есть выход? | Цитата: Честно гвооря, я не сравнивал скорость выборки из "универсальной" и "специальной" структуры. | А мы сравнили Недавно. Получается например что поле text тормозит не слабо по сравнению с varchar. Про enum вообще промолчим. По сравнению с text просто реактивный. Разница, особенно на относительно большой базе (10000 записей) и сложных запросах, до 10 раз легко. Цитата: У меня есть отдельная таблица под каждый модуль, но во всех таблицах есть поля для персонализации. Например, в таблице для блогов(новости, статьи и т.п.) одно из специфичных полей - время публикации, но при этом у пользователя есть еще 10 полей, которые он может использовать по своему усмотрению: есть отдельная таблица, содержащая информацию о типах(text, textarea, select и т.д.) этих 10 полей. Поля можно объединять в произвольные группы. К каждому разделу можно назначить любую группу полей. | Хех. Жутко похоже на наш модуль опросов для нюки Нарисовали с полгода назад, сейчас из него выращиваем нечто более функциональное как раз. Кстати, мы там себя не ограничивали в количестве полей - их анлим. Имхо это разумно. Вот демка http://www.eklon.com/modules.php?name=Opros&f_id=9 На том же сайте можете и скачать полную версию с открытым кодом (не gnu/gpl впрочем) если интересно. В опросе можно создавать поля кучи разных типов и т.д. и т.п.. Цитата: Получается такая полу-универсальная структура. Даже с использованием 2ух модулей - блога (постов) и страниц ("статики") можно создать сайт практически по любой теме. | Мы не раз доказывали, что на phpbb можно создать практически любой сайт. Тем более видели "мод" который помогает textarea для написания сообщений превращать в select/text/textarea и прочую мутотень. Кладется результат как обычное сообщение, а при попытке редактировать - снова идёт обратная конвертация. Чем плохо? Гляньте если есть желание наш модуль опросов (прямой линк на скачку) http://www.eklon.com/modules.php?name=Downloads&d_op=viewdownloaddetails&lid=7&ttitle=#dldetails Нам интересно Ваше мнение. Что и как и где можно было бы сделать лучше и т.д.. Да и Вы может какие-нибудь идеи/реализации позаимствуете (только не код пожалуйста). | Всего записей: 1777 | Зарегистр. 25-07-2004 | Отправлено: 22:39 15-08-2004 | Исправлено: edogs, 22:41 15-08-2004 |
|