C64Power Forum

Inne => Sprawy organizacyjne => Wątek zaczęty przez: Raf w 25 Października 2013, 21:12

Tytuł: Ktos dobry z algorytmiki? ;)
Wiadomość wysłana przez: Raf w 25 Października 2013, 21:12
zeby usunac jeden z hackow ktore wpisalem w silnik forum (sortowanie danych po dacie a nie po kluczach (id)), bylo to konieczne po scaleniu ze soba 3 for... potrzebowalbym czegos co ulozy wszystkie dane w bazie danych od nowa - innymi slowy posortuje po datach i przepisze ID na nowo - ale oczywiscie z uwzglednieniem pozostalych danych typu posortujesz userow to musisz ich powiazac z postami i tematami zeby ID sie zgadzaly. chetny ktos? :D
Tytuł: Ktos dobry z algorytmiki? ;)
Wiadomość wysłana przez: Raf w 28 Października 2013, 18:16
ja to w ogole mam pomysl jak to zrobic ale zastanawiam sie czy jest ktos madrzejszy ;)

zdradze ze pirewszy do pomocy sie zgodzil BagoZonde ale jeszcze sie nie pochwalil co zdzialal... generlanie chodzi o to, ze w bazie nie trzeba wiazac danych IDkami (primary key) bo sa jeszcze inne klucze.

moj pomysl - przynajmniej dla tabeli z uzytkownikami - to posortowanie danych i sztuczne wpuszczenie klucza nowego klucza glownego (chocby polautomatycznie do pliku CSV) i potem znow import do bazy z przypisaniem kolumn.

kazdy post ma autora ktory tez jest kluczem wiec przy sortowaniu tabeli z postami mozna sobie id_userow wygenerowac z autorow (nickow).

na pewno nie trzeba ruszac tabeli z definicja poszczegolnych subforow.
Tytuł: Ktos dobry z algorytmiki? ;)
Wiadomość wysłana przez: BagoZonde w 28 Października 2013, 19:15
No hej, najprostszą metodą będzie utworzenie nowych tabeli na bazie iteracji wyników posortowanych względem daty i zachowanie starych kluczy w kolumnach pomocniczych, by przepisać kolejne relacje.
Wysłałem Ci info na priv. Tak na marginesie, patrząc na strukturę, część danych w polach niepotrzebnie się dubluje między tabelami, prosty join załatwiłby sprawę ale no cóż.
Tytuł: Ktos dobry z algorytmiki? ;)
Wiadomość wysłana przez: Raf w 28 Października 2013, 21:01
tworca miniBB ma swoiste podejscie do optymalizacji - z pewnoscia nie masz przez to dodatkowego zapytania zwiazanego z joinem \"\"

to akurat jestem w stanie zroumiec, bardziej mnie boli ze on w kodzie nie stosuje tabulacji, on to nazywa optymalizacja, ja burdelem :P

to co napsialem m/w opisuje to co przytoczyles. w tym co mi wyslales na priv... niekoniecznie trzeba wszystkie wymienione tabele obrabiac.

jestem zwolennikiem aby jak najmniej uzywac w tej operacji poza SQL posrednictwa jezykow programowania - mysle ze da sie to wszystko zrobic przez tworzenie odpowiendich zapytan, widokow, tabel tymczasowych, pomocniczych... po czym wyeksportowac calosc do CSV i wciagnac znow do bazy odpowiednio mapujac kolumny.
Tytuł: Ktos dobry z algorytmiki? ;)
Wiadomość wysłana przez: BagoZonde w 29 Października 2013, 00:37
Hmm... Jeżeli chodzi o joiny i performance, to joiny niczemu tu nie szkodzą - to w końcu SQL - a masz przynajmniej jednolite dane.

Skoro nie widzi Ci się użycie PHP do iteracji, mogę zrobić Ci z tego zapytania, które będą wyciągały i insertowały. Nie potrzebujemy tutaj eksporta do CSV, bez jaj ;). Zastosowanie PHP po prostu jest najprostszą metodą i tak to się robi z reguły robi.
Tytuł: Ktos dobry z algorytmiki? ;)
Wiadomość wysłana przez: Raf w 22 Listopada 2013, 12:14
ten problem rozwiazalem sortujac same posty po dacie nadajac im auto id w nowej tabeli, wystarcza to do importu na nowy silnik, przy starym chyba tez by wystarczylo.