Ответ: Много одинаковых списков на странице
Использовать кеширование?
Только можно поинтересоваться, это что, на каждые 15 минут расписания у тебя 700 записей?
Можно побольше инфы о отношении данных таблицы и конкретики данных. Т.к. подкрадывается сомнение что там всё консистентно.
Также если проблемы с объёмом данных, прибегай к кешированию и подгрузке используя например AJAX.
Исходя из скудных данных. Как понял у тебя есть список людей (700), и есть расписание. В каждые 15 минут тебе нужно поставить человека. Так?
Зачем тебе делать это SELECT'ом? В смысле, не нужно делать комбобоксом.
Используй JavaScript для такой операции. А именно:
1. Выдай один раз список персон (вообще это делать также нужно по фильтрам и т.п. но пох).
2. Выдай ячейки расписания с привязанными к ячейкам id персон.
3. На стороне клиента, запихай список персон в хештаблицу используя JS.
4. После загрузки страницы, пробегись по расписанию ячейкам и вставь туда нужные данные (имя например), т.к. они у тебя уже есть в памяти.
5. При нажатии на ячейку делай всплывающее окошко (не закладка, а псевдо-окошко на той же страницу, тупо div показываемый / скрываемый используя JS).
6. В этом окошке имей таблицу персон с фильтрами (чтобы тупо искать удобнее было).
7. Суть окошка - возвратить данные о пользователи.
8. При выборе, отсылай AJAX запрос серверу о изменении конкретной ячейки и время последнего обновления данных.
9. В ответе с сервера, проверяй были ли изменения с последнего обновления на клиенте. Если да, то добавь данные о изменённых ячейках (тупо xml или json). Также если есть изменения у персон или добавлены новые.
10. На стороне клиента получив ответ, если есть изменения, применяй их.
11. Запускай AJAX запрос на изменения каждые например 30 секунд, и дай возможность делать запрос по нажатию кнопки в фронтенде.
Таким образом у тебя будет "реалтайм" таблица расписания с обновлениями без необходимости обновлять страницу, что сильно снизит нагрузку на сервер, и улучшит опыт броузинга.
Также, НИКОГДА!!!!! не используй таблицы. Делай всё DIV'ами. Это древний век (таблицы).
|