Смещение по сравнению с номером страницы при выполнении разбиения на страницы

Ну, в любом случае, вы не должны инициализировать учеников. Инициализация членов класса должна происходить в конструкторе класса следующим образом:

#include 
#include 
#include 

using namespace std;

class test
{
public:
    test() { member_ = make_shared>(); }
    ~test() { }
    enum type
    {
        error = 0
    };
private:
    shared_ptr> member_;
};

int main()
{
    return 0;
}

Это прекрасно компилируется даже в Онлайн C ++ Compiler , который является единственным местом, где нам удается воспроизвести проблему .

6
задан Darryl Hein 22 November 2008 в 08:09
поделиться

2 ответа

Используйте смещения. Если Вы принимаете решение позволить переменную (или пользовательский) количество результатов на страницу, кодирование легко.

4
ответ дан 9 December 2019 в 22:41
поделиться

Смещения также полезны для оптимизации, когда набор результатов, который Вы нумеруете страницы, является очень большим.

Это вызвано тем, что в некоторых случаях это позволяет Вам делать a

WHERE my_sortorder >= (some offset)
LIMIT 10

вместо a

LIMIT 10 OFFSET 880

который менее эффективен. Индекс может позволить Вам перейти прямо ко всем строкам, соответствующим my_sortoder> = некоторое смещение, но когда Вы используете СМЕЩЕНИЕ с ПРЕДЕЛОМ, это должно найти и просканировать через все 880 предыдущих строк сначала.

5
ответ дан 9 December 2019 в 22:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: