powered by simpleCommunicator - 2.0.36     © 2025 Programmizd 02
Форумы / Обсуждение нашего сайта (архив) [закрыт] [закрыт для гостей] / Как реализована пагинация на форуме?
62 сообщений из 62, показаны все 3 страниц
Как реализована пагинация на форуме?
    #18217356
Zim-a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По следам темы
https://www.sql.ru/forum/1177437/medlennyy-count-offset-tablica-ne-pomeshhaetsya-v-ram
У меня очень тупит пагинация (которая работает через offset)

С удивлением отмечаю, что на этом форуме промотка к любым страницам темы осуществляется моментально
Например вот эта тема из трёпа
https://www.sql.ru/forum/614262-2548/kritika-i-predlozheniya-k-moderatoram-razdela

Судя по сообщениям внизу на это уходит всего лишь 9-30 мс
Generated in 34ms. [9ms]

Не поделитесь секретом, за счёт чего тут пагинация так быстро работает?

Благодарю.
...
Рейтинг: 0 / 0
Как реализована пагинация на форуме?
    #18217448
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Конкретно за этот форум не скажу, но вообще можно, например, присваивать всем постам в конкретной теме порядковый номер в отдельном поле и для нужной страницы делать выборку по диапазону номеров. Конечно, при удалении постов индексы в пределах поста придется перенумеровывать, но удаление бывает редко.
Такой метод хорошо работает, когда используется только один вид сортировки.
...
Рейтинг: 0 / 0
Как реализована пагинация на форуме?
    #18217589
Zim-a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, наверное, это и правда самый быстрый способ.
...
Рейтинг: 0 / 0
Как реализована пагинация на форуме?
    #18217790
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zim-a,

У меня стандадтный пейджинейтор PagedList.MVC на ASP.NET+MSSQL и 25000 страниц работает мгновенно. Секрет в том что offset и limit вычисляется на клиенте при фетче, а запрос серверу отсылается один и тот-же. Тем более, что в MSSQL такой синтаксис, как у PG вообще не поддерживается.
...
Рейтинг: 0 / 0
Как реализована пагинация на форуме?
    #18217851
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zim-a > Не поделитесь vсекретом

Не растекаясь мыслью по древу,
в грубом приближении лично я бы
вообще на всё плюнул и показывал
по "pagenumber = messageid div N".

А уж потом (по жалобам и насущной
необходимости) менял алгоритм.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как реализована пагинация на форуме?
    #18217856
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам,

У топикастера в приведенных запросах вообще "id" нету, если заметили:)
...
Рейтинг: 0 / 0
Как реализована пагинация на форуме?
    #18218735
Zim-a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Relic Hunter 
Zim-a,

У меня стандадтный пейджинейтор PagedList.MVC на ASP.NET+MSSQL и 25000 страниц работает мгновенно. Секрет в том что offset и limit вычисляется на клиенте при фетче, а запрос серверу отсылается один и тот-же. Тем более, что в MSSQL такой синтаксис, как у PG вообще не поддерживается.
Я с ASP.NET не знаком, и немного не понял.
Не могли бы пояснить?
Если у вас 25 000 страниц и на каждой например по 10 записей - это 250 000 записей.
Не грузится же 250 тысяч записей на клиент?
...
Рейтинг: 0 / 0
Как реализована пагинация на форуме?
    #18218750
Zim-a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам 
Zim-a > Не поделитесь vсекретом

Не растекаясь мыслью по древу,
в грубом приближении лично я бы
вообще на всё плюнул и показывал
по "pagenumber = messageid div N".

А уж потом (по жалобам и насущной
необходимости) менял алгоритм.
Что-то не понятно.
Обычно в таблице постов есть id темы.
Т.е. надо выбирать с учётом id темы.
Кроме того, у меня например нумерация не с 1 начинается (я экспериментировал и несколько первых сотен тысяч постов удалил)
...
Рейтинг: 0 / 0
Как реализована пагинация на форуме?
    #18219397
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zim-a 
У меня очень тупит пагинация
Zim-a 
что на этом форуме ... моментально
на этом форуме mssql, там может быть, к примеру, вот это http://habrahabr.ru/post/126770/
...
Рейтинг: 0 / 0
Как реализована пагинация на форуме?
    #18222547
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zim-a 
Я с ASP.NET не знаком, и немного не понял.
Не могли бы пояснить?
Если у вас 25 000 страниц и на каждой например по 10 записей - это 250 000 записей.
Не грузится же 250 тысяч записей на клиент?
На сервере выполняется вот такой код (фэтч курсора, LINQ интерпритация, можно сделать и без LINQ-кa), где значения Skip и Take вычисляются из номера и размера страницы. Записи для нужной станицы складываются в коллекцию или json и отправляются клиенту. Запрос, как мы видим, одинаковый, никаких "where" кляуз нет, поэтому исполняется быстро.
Код: C#
1.
2.
3.
4.
5.
6.
7.
8.
9.
public void GetEmployee()
    {
        EmployeeOperationDataContext employeeContext = new EmployeeOperationDataContext();

        var employee = (from emp in employeeContext.EMPLOYEEs
                        select emp).Skip(5).Таке(10);

       /// отправить клиенту на для прорисовки
    }
...
Рейтинг: 0 / 0
Как реализована пагинация на форуме?
    #18222604
Zim-a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Т.е. в MSSQL SKIP работает быстро?

Это аналог OFFSET в POSTRESQL?
...
Рейтинг: 0 / 0
Как реализована пагинация на форуме?
    #18222651
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zim-a 
Т.е. в MSSQL SKIP работает быстро?

Это аналог OFFSET в POSTRESQL?
Skip и Таке делается в клиентском курсоре. Открыли курсор, начали делать фэтч с ПЕРВОЙ ЗАПИСИ, пропустили Skip(1000500 записей) нужное количество, с этого места загружаем их в коллекцию Take(10 записей), закрываем курсор, отдаем десять записией клиенту. Что не так?
...
Рейтинг: 0 / 0
Как реализована пагинация на форуме?
    #18222691
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zim-a 
Т.е. в MSSQL SKIP работает быстро?

Это аналог OFFSET в POSTRESQL?
Запрос LINQ платформо-независимый и будет работать, как на MS SQL, так и на PG. Он не использует синтаксис провайдера, т.к. делает все сам, циклами. В отсутствии LINQ эти циклы нужно написать самому.
Код: C#
1.
2.
3.
4.
5.
6.
7.
8.
9.
public void GetEmployee()
    {
        EmployeeOperationDataContext employeeContext = new EmployeeOperationDataContext();

        var employee = (from emp in employeeContext.EMPLOYEEs
                        select emp).Skip(5).Таке(10);

       /// отправить клиенту на для прорисовки
    }
...
Рейтинг: 0 / 0
Как реализована пагинация на форуме?
    #18222759
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Relic Hunter 
Skip и Таке делается в клиентском курсоре. Открыли курсор, начали делать фэтч с ПЕРВОЙ ЗАПИСИ, пропустили Skip(1000500 записей) нужное количество, с этого места загружаем их в коллекцию Take(10 записей), закрываем курсор, отдаем десять записией клиенту. Что не так?
Надо яснее выражаться. Ибо в такой формулировке
это тихий ужас и такое советовать другим нельзя.
Надеюсь, что Вы просто оговорились. :)
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как реализована пагинация на форуме?
    #18222775
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам 
Надо яснее выражаться. Ибо в такой формулировке
это тихий ужас и такое советовать другим нельзя.
Надеюсь, что Вы просто оговорились. :)
Я советую? Отвечаю на вопрос "Как реализована пагинация на форуме?".
...
Рейтинг: 0 / 0
Как реализована пагинация на форуме?
    #18222920
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пагинация на форуме реализована вовсе не таким образом. :)
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как реализована пагинация на форуме?
    #18222997
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам 
Пагинация на форуме реализована вовсе не таким образом. :)
Ну, дак, переделайте, как у людей.
...
Рейтинг: 0 / 0
Как реализована пагинация на форуме?
    #18223114
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Relic Hunter> как у людей.

Как раз то, что ты описываешь - неправильно.
А сколько людей пошли таким путём - ХЗ, ССЗБ.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как реализована пагинация на форуме?
    #18227325
Zim-a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Relic Hunter, судя по всему у меня подобная реализация.
SKIP (он же OFFSET) работает тем медленнее чем больше его значение.
И это есть проблема.
...
Рейтинг: 0 / 0
Как реализована пагинация на форуме?
    #18229892
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам 
Не растекаясь мыслью по древу,
в грубом приближении лично я бы
вообще на всё плюнул и показывал
по "pagenumber = messageid div N".

А уж потом (по жалобам и насущной
необходимости) менял алгоритм.
Такой способ вообще не работает, потому что messageid - сквозной, не в пределах топика.

Или имеется в виду вариант miksoft. По моему, тут сделано именно так.
...
Рейтинг: 0 / 0
Как реализована пагинация на форуме?
    #18229953
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvg> Такой способ вообще не работает, потому что
alexeyvg> messageid - сквозной, не в пределах топика.
alexeyvg> Или имеется в виду вариант miksoft.

Нет, я не имел в виду в отдельном поле хранить,
даже не из-за возни с дырками при удалениях.
Я имел в виду тот RowNum(), который умеет СУБД.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как реализована пагинация на форуме?
    #18229960
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Впрочем, miksoft тоже нечто похожее описывает,
называя это диапазоном. Но с отдельным полем.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как реализована пагинация на форуме?
    #18229987
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Relic Hunter 
Zim-a,

У меня стандадтный пейджинейтор PagedList.MVC на ASP.NET+MSSQL и 25000 страниц работает мгновенно. Секрет в том что offset и limit вычисляется на клиенте при фетче, а запрос серверу отсылается один и тот-же. Тем более, что в MSSQL такой синтаксис, как у PG вообще не поддерживается.
Мнгновенно - это сколько в цифрах?

Это нерабочий способ, на сервере или клиенте перебирать записи, как бы это красиво не называлось, и в какой бы синтаксис не рядилось (кстати, сиквел в новых версиях поддерживает ту же функциональность, что и PG, если вы про OFFSET ... LIMIT ... - только это не поможет, это всего лишь один из синтаксис того же самого - пронумеровать записи в массиве и взять нужные)
...
Рейтинг: 0 / 0
Как реализована пагинация на форуме?
    #18229996
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам 
Я имел в виду тот RowNum(), который умеет СУБД.
Да? Никогда бы не подумал, прочитав "messageid div N", что это про RowNum() :-)

Но RowNum() - это нумерация массива, это медленно. Для начала я бы так и сделал, да, потому что это самое простое. Но ТС пишет про "тупит пажинация", так что ему нужно уже что то нормальное...
...
Рейтинг: 0 / 0
Как реализована пагинация на форуме?
    #18230002
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам 
Но с отдельным полем.
С отдельным полем номера записи - это по скорости то же самое, что хранить номер страницы, только более гибко, можно индивидуально настраивать количество записей на странице.

Единственный недостаток - не подходит для гибких фильтраций и сортировок... Максимум- можно хранить несколько таких полей для разных сортировок. Вот поэтому тут не делают всякие пожелания типа "не показывать сообщения какого то автора" и т.п.
...
Рейтинг: 0 / 0
Как реализована пагинация на форуме?
    #18230154
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvg> Да? Никогда бы не подумал, прочитав "messageid div N", что это про RowNum() :-)

ОК, пусть будет RowID, если так удобнее. :)

> Но RowNum() - это нумерация массива, это медленно

Всё относительно. В приложении к данному случаю
(сообщения топиков), я не вижу, чем тут тормозить.

> Но ТС пишет про "тупит пажинация", так что ему нужно уже что то нормальное...

Что у него тормозит не знаю, но если он фетчит все
записи до нужной, то тут нечему удивляться... :)
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как реализована пагинация на форуме?
    #18230156
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvg> только более гибко
alexeyvg> Единственный недостаток

Нет, не единственный. Основной недостаток -
это приключения с контролем этой нумерации.
Даже если забить на точность количества постов
на странице и делать перенумерацию джобом
ночью - это всё равно дорого и слишком долго.

alexeyvg> Вот поэтому тут не делают

Нет, вовсе не поэтому.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как реализована пагинация на форуме?
    #18233825
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам 
Нет, не единственный. Основной недостаток -
это приключения с контролем этой нумерации.
Даже если забить на точность количества постов
на странице и делать перенумерацию джобом
ночью - это всё равно дорого и слишком долго.
Эээ, какая ещё "точность", джобы и перенумерация?

При вставке записи в топик ей присваивается номер = максимальный номер сообщения в топике (за исключением удалённых, то есть невидимых) + 1.
При удалении (скрытии) записи из топика, все "старшие" записи из топика перенумеровываются (декрементируются), прямо в процедуре удаления. Размеется, это уже небыстрая операция, но удаление делается редко.

Всё же просто, без накладных расходов и прочего.

Проблемы с производительностью в такой схеме могут быть, если количество удалений записей велико, сравнимо с количеством чтений.
Гаджимурадов Рустам 
> Но RowNum() - это нумерация массива, это медленно

Всё относительно. В приложении к данному случаю
(сообщения топиков), я не вижу, чем тут тормозить.
В приложении к случаю чтения топика по ссылке из стартового поста ТС, нужно считать все 10000 постов, отсортировать их, пронумеровать, и взять из них нужные записи. Именно так работает RowNum(), и так же работают любые другие методы немедленной нумерации, хоть на клиенте, на сервере СУБД, хоть на MSSQL. хоть на POSTRESQL, хоть на LINQ.
И это не так уж быстро.
...
Рейтинг: 0 / 0
Как реализована пагинация на форуме?
    #18233908
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvg 
Эээ, какая ещё ... перенумерация?

При удалении перенумеровываются
Размеется, это уже небыстрая операция

Всё же просто, без накладных расходов и прочего.
Алексей, Вы уж определитесь как-нибудь там сами. :)))
Про показ скрытых сообщений я, так и быть, молчу.

> И это не так уж быстро.

Более производительного варианта без преднумерации ни
у кого вроде нет или с различными большими издержками.
Вряд ли для редких топиков с условными 50000 сообщений
имеет смысл заморачиваться.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как реализована пагинация на форуме?
    #18238360
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не знаю как сделал Джудж, но в ASP.NET есть встроенный механизм постраничного просмотра. А не "пагиниции".

Просто диву даюсь, как некоторые умудряются писать английские слова по-русски в то время, когда есть русские термины.
...
Рейтинг: 0 / 0
Как реализована пагинация на форуме?
    #18239309
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2 
Просто диву даюсь, как некоторые умудряются писать английские слова по-русски в то время, когда есть русские термины.
Это временное, переходной период. Когда-то наверняка "футбол" и "хоккей" то же слух резали и у кого-то вызывали рвотные рефлексы.
...
Рейтинг: 0 / 0
Как реализована пагинация на форуме?
    #18244114
Zim-a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я тут ещё немножко поразбирался.
И случайно обнаружил, что быстро грузятся только страницы постов.
Списки например тем - грузятся долго.
https://www.sql.ru/forum/pt/3398
Числа внизу говорят что на запрос в БД уходит ~900 мс на страницы, которые ближе к концу
...
Рейтинг: 0 / 0
Как реализована пагинация на форуме?
    #18244132
Zim-a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как я понимаю, в этой ситуации уже тяжело что-то оптимизировать.
...
Рейтинг: 0 / 0
Как реализована пагинация на форуме?
    #18244243
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zim-a 
Как я понимаю, в этой ситуации уже тяжело что-то оптимизировать.
Ну да, список же не отсортирован статически, нельзя пронумеровать...
...
Рейтинг: 0 / 0
Как реализована пагинация на форуме?
    #18244546
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvg> нельзя пронумеровать...

Конечно, можно. По убыванию.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как реализована пагинация на форуме?
    #18244547
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да и по возрастанию можно, если хотеть.
Просто смысла нет, вы при/выдумываете
несуществующие/неважные "проблемы".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как реализована пагинация на форуме?
    #18247588
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadman 
Cat2 
Просто диву даюсь, как некоторые умудряются писать английские слова по-русски в то время, когда есть русские термины.
Это временное, переходной период. Когда-то наверняка "футбол" и "хоккей" то же слух резали и у кого-то вызывали рвотные рефлексы.
На эту тему есть классическое "Как достало это тупое преклонение перед иностранным, это бесконечное использование английских слов. Вот зачем, например, сейчас все начинают говорить "мейкап", когда есть простое русское "макияж"?"
...
Рейтинг: 0 / 0
Как реализована пагинация на форуме?
    #18247648
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer 
простое русское "макияж"
Это слово вроде как имеет французские корни...
...
Рейтинг: 0 / 0
Как реализована пагинация на форуме?
    #18247743
Фотография dmidek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadman 
softwarer 
простое русское "макияж"
Это слово вроде как имеет французские корни...
В этом и шутка.

Или вот Маяковский боролся с иностращиной

Он был монтёром Ванею,
Но в духа парижан
Себе присвоил звание
Электротехник Жан.

Излишне говорить, что монтёр разумеется тоже заимствованое французское слово.
...
Рейтинг: 0 / 0
Как реализована пагинация на форуме?
    #18248674
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наличие заимствований отнюдь не оправдывает
привнесение новых, тем более ненужных/неуместных.
Правда, такой "списочек нелюбимых" у каждого свой.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как реализована пагинация на форуме?
    #18248764
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам 
Наличие заимствований отнюдь не оправдывает привнесение новых, тем более ненужных/неуместных.
Это живой процесс. Можно сколько угодно плеваться по этому поводу, но всегда будут "стучаться в двери", и пришедшееся ко двору - входить в язык. Ещё совсем недавно "глаз" было бранным словом, а "жид" - обиходным, сейчас дела обстоят ровно наоборот.
...
Рейтинг: 0 / 0
Как реализована пагинация на форуме?
    #18248917
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer> Это живой процесс.

Я знаю и говорю о том же. Если процесс идёт, это вовсе не значит,
что ему надо потворствовать и тем более участвовать самому.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как реализована пагинация на форуме?
    #18248932
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам 
Я знаю и говорю о том же. Если процесс идёт, это вовсе не значит, что ему надо потворствовать и тем более участвовать самому.
Этот процесс идёт всё время. И имхо, очень глупо считать snapshot языка, снятый во время обучения конкретного индивида в школе, неким самым правильным эталоном. Не участвовать в этом процессе невозможно - по крайней мере, не отказавшись от общения, можно лишь тянуть в ту или другую сторону. Но я не переоценивал бы индивидуальное влияние в этом вопросе.
...
Рейтинг: 0 / 0
Как реализована пагинация на форуме?
    #18248975
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer> Не участвовать в этом процессе невозможно
softwarer> можно лишь тянуть в ту или другую сторону.

ОК, пусть будет "тянуть в другую сторону".
Хотя по мне "не использовать новые заимствования
без нужды" вполне означает "не участвовать".

> Но я не переоценивал бы индивидуальное влияние в этом вопросе.

Капли сливаются в море.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как реализована пагинация на форуме?
    #18248989
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zim-a 
По следам темы

Не поделитесь секретом, за счёт чего тут пагинация так быстро работает?

Благодарю.
в адресной строке есть ID треда. хранить где нить ID первого поста в треде или первого/последнего на странице всё равно при рендеринге его знаешь и делать запрос с условием AND post_id > вон_того_айдишника. будет быстро.
...
Рейтинг: 0 / 0
Как реализована пагинация на форуме?
    #18248995
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам 
Хотя по мне "не использовать новые заимствования без нужды" вполне означает "не участвовать".
Это означает использовать старые. В более ярком примере - можно продолжать писать с ятями...
...
Рейтинг: 0 / 0
Как реализована пагинация на форуме?
    #18249002
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У всего есть разумные пределы, не вижу
смысла утрировать и кидаться в крайности.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как реализована пагинация на форуме?
    #18249034
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам 
У всего есть разумные пределы,
И где же они?
Гаджимурадов Рустам 
не вижу смысла утрировать и кидаться в крайности.
Для твоего дедушки яти - часть нормального и правильного языка, который нефиг без нужды портить какими-то новомодными заимствованиями. Для тебя - утрирование. Для твоего внука нелепым утрированием будет предложение вернуть в язык привычные для тебя слова и орфографию. Если при этом ты считаешь именно себя носителем правильного языка, а их обоих - идиотами... подумай ещё.
...
Рейтинг: 0 / 0
Как реализована пагинация на форуме?
    #18249087
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer> И где же они?

Я ж говорю - набор таких словечек у каждого свой
(хотя в целом он очень большой и пересекающийся),
равно как и рамки. Пагинация и ишью - за рамками,
тикет, пост, джоб и т.д. - в рамках допустимого.
Монтёр, сортировка, оптимизация и т.п. - русские
слова, стали частью языка. Если бы среди нас
присутствовали профессиональные лингвисты,
они могли бы разложить их по соотв. категориям.

> идиотами

C чего вдруг? У тебя сегодня не день Бекхэма или как? :)
Может перестанешь ломиться в открытую дверь или
тебе принципиально важно получить номинальную
итоговую правоту?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как реализована пагинация на форуме?
    #18249088
Фотография dmidek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer 
Гаджимурадов Рустам 
У всего есть разумные пределы,
И где же они?
Гаджимурадов Рустам 
не вижу смысла утрировать и кидаться в крайности.
Для твоего дедушки яти - часть нормального и правильного языка, который нефиг без нужды портить какими-то новомодными заимствованиями. Для тебя - утрирование. Для твоего внука нелепым утрированием будет предложение вернуть в язык привычные для тебя слова и орфографию. Если при этом ты считаешь именно себя носителем правильного языка, а их обоих - идиотами... подумай ещё.
Не совсем понимаю суть дискуссии. Никто не знает, что будет с языком потом, но мы, как
его носители здесь и сейчас безусловно имеем право высказать свое отношение к конкретному
нововведению.

Лично мне например слово "пагинация" активно не нравится, потому что основано на слове,
которого в русском языке нет и не предвидится и таким образом протаскивает контрабандой
и слово "паг" или "пага". "Сколько паг в твоей книге ?". Есть и другие отрицательные звуковые
коннотации , на которых мне не хочется останавливаться.
У Вас может быть по этому слову другое мнение и Вы можете найти его удачным, поскольку
скажем компактного аналога на русском у этого слова как мне кажется нет или же неудачным, по сходным
с моими или каким- то особым соображениям.

Не вижу предмета для дискуссии.
...
Рейтинг: 0 / 0
Как реализована пагинация на форуме?
    #18249117
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dmidek> Не вижу предмета для дискуссии.

Тут дело даже не в предмете, тут интереснее,
судя по всему. "Предметов" (позиций) два -
"процесс идёт, ты на него влиять не можешь,
расслабься, сиди и наблюдай" и "как ты смеешь
считать идиотами тех, кто привносит такие новые
словечки" (а-ля "почему ты украл апельсины?" -
и сиди доказывай, что не крал :-D ).
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как реализована пагинация на форуме?
    #18249259
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам 
Я ж говорю - набор таких словечек у каждого свой
Эта мысль мне кажется подозрительно похожей на "разумные пределы отсутствуют".
Гаджимурадов Рустам 
или тебе принципиально важно получить номинальную итоговую правоту?
Нет. Что мне важно, думаю, более удачно прозвучит в ответе Диме.
dmidek 
Не совсем понимаю суть дискуссии. Никто не знает, что будет с языком потом, но мы, как
его носители здесь и сейчас безусловно имеем право высказать свое отношение к конкретному
нововведению.
Безусловно, можем. Но с практической точки зрения интерес представляет не столько наше отношение, сколько то, куда мы поможем языку двинуться. Мне не нравится слово "пагинация", но либо мы устраним из нашей жизни это понятие, либо придумаем более удачное слово и сумеем ввести его в оборот, либо...
dmidek 
Не вижу предмета для дискуссии.
Для меня вопрос в том, что язык - вещь заведомо меняющаяся, с отсутствием абсолюта. Протест против внедрения пагинации и протест против отмены ятей - вещи заведомо одного порядка, хотя одно из них для нас выглядит правильным, а другое - нелепым. Как выразился Рустам, утрированием.
...
Рейтинг: 0 / 0
Как реализована пагинация на форуме?
    #18249357
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer> Эта мысль мне кажется подозрительно похожей на "разумные пределы отсутствуют".

:) Но набор таких слов объективно у каждого свой.
Я считаю слово пагинация неуместным, тебе оно
не нравится, а кому-то вполне, наравне с "ишью".

> Но с практической точки зрения интерес представляет не столько
> наше отношение, сколько то, куда мы поможем языку двинуться.
> Мне не нравится слово "пагинация", но либо мы устраним из нашей
> жизни это понятие, либо придумаем более удачное слово

А, то есть не "не нравится", а конструктивизм, "предложи лучше".
Я с этим подходом почти всегда согласен и солидарен, но он
применим лишь к конкретным случаям, а не к общему отношению
"Не нравятся неуместные заимствования" - это общее отношение,
независимо от того, есть ли аналог или нет, могу ли я предложить
(и придумать, если аналога ещё нет) альтернативу или нет и т.д.

Типичный пример (пунктик у меня такой, наболело за посл. годы) -
"дорожная карта". Узколобость и стремление к мимикрии, видимо,
не позволяют некоторым использовать слова "план", "график" и т.д.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как реализована пагинация на форуме?
    #18250185
Фотография Хнык
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
После удаления сообщения страницы не пересчитываются. По крайней мере, не сразу. Значит нарезка по страницам куда-то кешируется. Скорее всего, страница целиком кешируется в виде одной записи и обращение к ней происходит по идентификатору топика и порядковому номеру страницы.
...
Рейтинг: 0 / 0
Как реализована пагинация на форуме?
    #18250481
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хнык 
Значит нарезка по страницам куда-то кешируется.
Тогда уж две, раз есть опция sd. Хотя, сомневаюсь.
...
Рейтинг: 0 / 0
Как реализована пагинация на форуме?
    #18256025
Фотография Програмер.Илюша
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам 
softwarer> Эта мысль мне кажется подозрительно похожей на "разумные пределы отсутствуют".

:) Но набор таких слов объективно у каждого свой.
Я считаю слово пагинация неуместным, тебе оно
не нравится, а кому-то вполне, наравне с "ишью".

> Но с практической точки зрения интерес представляет не столько
> наше отношение, сколько то, куда мы поможем языку двинуться.
> Мне не нравится слово "пагинация", но либо мы устраним из нашей
> жизни это понятие, либо придумаем более удачное слово

А, то есть не "не нравится", а конструктивизм, "предложи лучше".
Я с этим подходом почти всегда согласен и солидарен, но он
применим лишь к конкретным случаям, а не к общему отношению
"Не нравятся неуместные заимствования" - это общее отношение,
независимо от того, есть ли аналог или нет, могу ли я предложить
(и придумать, если аналога ещё нет) альтернативу или нет и т.д.

Типичный пример (пунктик у меня такой, наболело за посл. годы) -
"дорожная карта". Узколобость и стремление к мимикрии, видимо,
не позволяют некоторым использовать слова "план", "график" и т.д.
Дорожная схема в русский не придет. А дорожной карты не существует.
У нас больше верят в roadmap.
И visio на это настроен.

извините за offtop
...
Рейтинг: 0 / 0
Как реализована пагинация на форуме?
    #18261021
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Програмер.Илюша> А дорожной карты не существует.
Програмер.Илюша> У нас больше верят в roadmap.

Это зависит от того, у кого это "у нас".
Вы, видимо, давненько не включали
телевизор и не читали эти интернеты.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как реализована пагинация на форуме?
    #18261196
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам 
alexeyvg> нельзя пронумеровать...
Конечно, можно. По убыванию.
Гаджимурадов Рустам 
Да и по возрастанию можно, если хотеть.
Как то вы загадочно говорите, полунамёками, я вот ничего не понимаю в уже нескольких ваших постах :-)

"Нельзя пронумеровать" - в контексте разговора имелось в виду, что нумерация сохраняется в поле таблицы, а "нельзя" означает, что расходы на перенумерацию будут велики. Вроде все участники темы придерживаются этой терминологии, этого словаря, правильно?

"Нельзя пронумеровать" список, если его сортировка динамическая. Сортировка тем форума меняется с каждым новым постом, разумеется, сохранение порядка при этом нереально - слишком большие затраты на перенумерацию. (хотя соотношение затрат и профита нужно смотреть).
Гаджимурадов Рустам 
Просто смысла нет, вы при/выдумываете
несуществующие/неважные "проблемы".
Да, вы уже несколько раз писали, как бы "в общем".

Однако у ТС это не выдуманные проблемы, я много раз сталкивался на разных работах, да и Саша занимался этой проблемой для этого форума, насколько я помню - когда пользователей стало много, и она возникла.

Я писал выше - сортировка массива в несколько тысяч записей достаточно тяжела, и если её выполнять при кажом чтении темы каждым пользователем, она будет занимать не 10 мс.
...
Рейтинг: 0 / 0
Как реализована пагинация на форуме?
    #18261725
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvg 
имелось в виду, что нумерация сохраняется в поле таблицы
Это меняет ситуацию не принципиально. Вообще, большой разницы между отношением
пост-топик и топик-раздел на данный момент нет - практически, со всех т.з. С тем, что
накладные расходы велики, разумеется, согласен, сам об этом говорил выше.
alexeyvg 
"Нельзя пронумеровать" список, если его сортировка динамическая.
Сортировка тем форума меняется с каждым новым постом
О чём речь, какая ещё сортировка тем?
alexeyvg 
Однако у ТС это не выдуманные проблемы
У него вообще проблемы даже с формулировкой задачи. Так что мы, большей частью,
обсуждаем здешний форум, а не его фантазии. Что касается, сортировки нескольких
тысяч записей, то во-первых, таких тем не так много и операция нечастая, во-вторых,
мне кажется, Вы несколько недооцениваете возможности современных СУБД. :)
...
Рейтинг: 0 / 0
Как реализована пагинация на форуме?
    #18263887
Zim-a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам
Почему вот эта страница долго рендерится (см. числа внизу)
https://www.sql.ru/forum/pt/3403
...
Рейтинг: 0 / 0
Как реализована пагинация на форуме?
    #18264630
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zim-a> Почему

Потому что "пагинация плохо реализована". (с)
А кого и почему это интересует?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как реализована пагинация на форуме?
    #18266624
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zim-a 
Почему вот эта страница долго рендерится (см. числа внизу)
https://www.sql.ru/forum/pt/3403
Потыркал эту страницу в разное время из разных мест.
Почему-то времена четко разбиваются на две группы - в диапазоне 400-450 мс и 700-1000 мс, количественно примерно 1:5.
...
Рейтинг: 0 / 0
62 сообщений из 62, показаны все 3 страниц
Форумы / Обсуждение нашего сайта (архив) [закрыт] [закрыт для гостей] / Как реализована пагинация на форуме?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]