![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 57 Pomógł: 3 Dołączył: 20.11.2004 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
mam pewna tabele o takiej strukturze i danych id | wiersz | kolumna | wartosc | arkusz_id 1|1 |1 | 45|1 2|1|2 |SCV |1 3|1 |3 |423 |1 4|1 |4 |455 |1 5|2 |1 |432 |1 6|2 |2 |BLO |1 7|2 |3 |42 |1 9|3 |1 |453 |1 10|3 |2 |SCV |2 12|3 |3 |453 |2 13|3 |4 |342 |2 14|4 |5 |354 |2 ..................... Jest to zaimportowany arkusz z excela chcialbym to posortowac tak, aby otrzywac w wyniku posortowane wartosci w taki sposob, że kluczem glownym sortujacym jest testk w 2 kolumnie. Udało mi się wymyślić takie zapytanie, ale ono nie sortuje tych wyników względem wartosci i 2 kolumny ale reszta jest zwracana tak jak potrzebuję.
Ma ktos może pomysl jakiej komendy sortujacej uzyc? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 57 Pomógł: 3 Dołączył: 20.11.2004 Ostrzeżenie: (0%) ![]() ![]() |
@heaven jestem praktycznie pewnien, ze jest opcja czasowego zawieszania zmiany indeksu. Kiedys czytalem nawet taka komende, ale teraz nie moge tego znalezc. Pomysl o tym, ze na pewno nie tylko ja mam do zrobienia w jednym ciagu sporo instrukcji UPDATE (INSERT) i nie potrzebuje w tym momencie indeksowania co zmiane/dodanie wartosci, wiec cos takiego powinno byc.
Niestety to zapytanie:
wykonywalo sie 20 minut i je zabilem, bo uznalem, ze dlugej nie ma sensu czekac. Oczywiscie sprawdzilem, czy cos zmienilo w tabeli i okazalo sie, ze nie zmienlo nawet jednego rekordu... Moze przez to, ze teraz mam w tabeli 100tys rekordow. Robie takie zapytanie:
Zwrocone rekordy wrzucam w tablice i robie zapytania w petli
Niestety to tez jest beznadziejnie wolne w 300s przerabia petle jakies 2000-2200 razy. (IMG:http://forum.php.pl/style_emoticons/default/sadsmiley02.gif) Taka aktualizacja bedzie wymagala zazwyczaj 2000-15000 iteracji petli, aby wykonac zadanie. Wyrzucilem nawet index z kolumny `sortowanie`myslac, ze to cos da a tutaj wydajnosc taka sama. Beznadziejna. Bede chyba musial zrobic w projekcie ograniczenie, ze mozna wybrac podstawowa kolumne przed importem danych do tabeli a pozniej ostrzezenie, ze zmiana bedzie trwac baaardzo dlugo albo wyrzucac dany `arkusz_id`i importowac od poczatku... Ten post edytował Zigi 12.02.2008, 16:05:48 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 5.10.2025 - 10:36 |