Главное меню
Мы солидарны с Украиной. Узнайте здесь, как можно поддержать Украину.

Ответ

Обратите внимание: данное сообщение не будет отображаться, пока модератор не одобрит его.
Ограничения: максимум вложений в сообщении — 3 (3 осталось), максимальный размер всех файлов — 300 КБ, максимальный размер одного файла — 100 КБ
Снимите пометку с вложений, которые необходимо удалить
Перетащите файлы сюда или используйте кнопку для добавления файлов
Вложения и другие параметры
Проверка:
Оставьте это поле пустым:
Наберите символы, которые изображены на картинке
Прослушать / Запросить другое изображение

Наберите символы, которые изображены на картинке:

√36:
ALT+S — отправить
ALT+P — предварительный просмотр

Сообщения в этой теме

Автор RawonaM
 - ноября 29, 2013, 10:57
Цитата: Тайльнемер от ноября 27, 2013, 04:36
А почему база грузится при большом количестве сообщений в одной теме?
Не вдавался в подробности, но во всех списках оптимизации это присутствует, например:

http://www.simplemachines.org/community/index.php?topic=293441.0
ЦитироватьAddition #3 (July 1st): Cap the length of your threads This is one of those things that ought to be a setting - even vBulletin is known for choking on large threads, look up //rpg.net's motivational poster history. Large threads mean there is a large result set for further instructions in the query to prune from, and if a thread is too disproportionally large, even browsing the thread will result in using table scans instead of the index - a very bad situation indeed.
Автор Тайльнемер
 - ноября 28, 2013, 07:33
Цитата: Bhudh от ноября 28, 2013, 06:55
Скорее, не сам пропуск, а вычисление необходимых для пропуска страниц
Причём здесь вычисление — однократное арифметическое действие?
Вот пропуск требует перебора — он выполняется за O(page).
Автор Bhudh
 - ноября 28, 2013, 06:55
Цитата: Тайльнемер от ноября 28, 2013, 06:34пропустить количество, соответствующее предыдущим страницам и вытащить количество сообщений на странице. Вот, видимо, этот пропуск и тормозит
Скорее, не сам пропуск, а вычисление необходимых для пропуска страниц, число которых меняется настройкой числа постов на странице у конкретного юзера.
Цитата: Тайльнемер от ноября 28, 2013, 06:34@messagesPerPage
А это нагрузка не на базу данных, а на процессор.
Автор Тайльнемер
 - ноября 28, 2013, 06:34
Bhudh, да что вы.

Во-первых, вряд ли размер таблицы в БД ограничен, тем более таким маленьким числом.
Во-вторых, если бы размер темы был ограничен, новые сообщения бы просто не посылались. А здесь речь о повышении нагрузки на сервер.
В-третьих, крайне маловероятно, что на каждую тему отводится таблица. Скорее, есть одна таблица, в которой помещаются все сообщения всех тем (недаром у них сквозная нумерация), и, наверное, есть таблица соответствия № темы ↔ № сообщения.
Т. е. для показа страницы темы нужно из всех сообщений, соответствующих теме (они вытаскиваются быстро засчёт индексации) пропустить количество, соответствующее предыдущим страницам и вытащить количество сообщений на странице. Вот, видимо, этот пропуск и тормозит, когда страниц много.

SELECT [Messages].[Id], [Messages].[AuthorId], [Messages].[Text], . . .
FROM [Messages]
INNER JOIN [TopicMessages] ON [Messages].[Id] = [TopicMessages].[MessageId]
WHERE [TopicMessages].[TopicId] = @topicId
OFFSET @messagesPerPage * (@page - 1) ROWS
FETCH NEXT @messagesPerPage ROWS ONLY;
Автор Bhudh
 - ноября 28, 2013, 06:16
Цитата: Тайльнемер от ноября 28, 2013, 03:29Размер таблицы ограничен? :O
На платном сервере — наверняка. Не программно, естественно.
Автор Тайльнемер
 - ноября 28, 2013, 03:29
Размер таблицы ограничен? :O
А что, на каждую тему создаётся таблица? :O
Автор Bhudh
 - ноября 28, 2013, 01:45
Размер таблицы ограничен.
Автор Тайльнемер
 - ноября 27, 2013, 04:36
А почему база грузится при большом количестве сообщений в одной теме?
Автор RawonaM
 - ноября 26, 2013, 21:14
Технических ограничений вроде как не выставленно. Вроде была такая настройка.
Наверное стоит поставить 5000 сообщений, просто для разгрузки базы данных.
Автор mnashe
 - ноября 26, 2013, 18:54
Кажется, точного ответа на вопрос (после какого размера нагрузка на сервер ощутимо растёт) не знает никто, но мне так помнится, что старались не превышать 200 страниц, вот я примерно на это и ориентируюсь.
RawonaM поправит, если что...