Spróbuj podzielić zapytanie wybrane dla wielu części, na przykład pierwsze zapytanie wyboru musi być ograniczone do 50000, a następnie drugie zapytanie wyboru musi zostać uruchomione z 50000 i ograniczone do 50000 i tak dalej.
Można to zrobić przez ten scenariusz:
1- Get liczyć rekordy.
2- Wykonaj pętlę i zakończ ją przy liczbie rekordów.
3- Dla każdej pętli, sprawiają, że kwerenda wybierająca wybrać 50000 rekordów i dołączyć wyniki do DataTable (w zależności od tego, co znajduje się w język programowania)
4- W kolejnej pętli, należy uruchomić wybierając skąd poprzedni Po zakończeniu pętli drugie zapytanie musi wybrać następne 50000 rekordów i tak dalej.
Możesz określić wybierz indeks początkowy, tym stwierdzeniem zapytań SQL:
SELECT * FROM mytable somefield LIMIT 50000 OFFSET 0;
Wtedy dostaniesz cały dane, które chcesz.
UWAGA: wykonaj test, aby zobaczyć, jaka maksymalna liczba rekordów może zostać załadowana w ciągu 60 sekund, co zmniejszy liczbę pętli, a tym samym zwiększy wydajność.
w mojej tabeli co sekundę trwa wstawianie. Więc indeksowanie spowoduje zmniejszenie wydajności kwerendy wstawiania. –
@JinjuJoseph Możesz dodać wyzwalacz do odwiedzin, aby zaktualizować żądaną wartość w innej tabeli, powiedz sumy w polu tot. Następnie wybierz wartość zbiorczą bezpośrednio z tego miejsca. –