![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 602 Pomógł: 30 Dołączył: 1.08.2007 Skąd: Nowy Sącz Ostrzeżenie: (0%) ![]() ![]() |
Witam, mam zapytanie które oznacza mi co drugi wynik pewną flagą.
Chodzi mi głównie o zapytanie SELECT. Dla 6 000-10 000 rekordów działa spoko. Ale jak spróbuję przeedytować tabelkę 500000 rekordów to juz jest problem Moja tabelka
I w co drugim rekordzi potrzebuję mieć 1 a w co drugim 0 maksymalnie równo rozłożone rekordy. Sortuję po czasie dodania rekordu (czyli ID), Przykłodowo musze równo podzielić maile np z przed dwóch lat. Skrypt jest częściej wykorzystywany. Obecnie nie poradziłem sobie z jego uruchomieniem. Robię to tak, że eksportuję w ekselu usuwam odpowiendie wiersze, a te pozostałe oznaczam flagą i importuje do innej tabelki.
Jak to zoptymalizować jak uruchomić na tabeli pół miliona rekordów nawet konsola się wiesza. Ten post edytował daniel1302 26.01.2015, 18:25:13 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 421 Pomógł: 310 Dołączył: 18.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
Jak chcesz szybko, to taki pomysł:
1. utwórz tabelę: ID AutoIncrement, tabID INT, Flag INT 2. przekopiuj do niej wartosci z twojej tabeli: INSERT INTO tabela (tabID) SELECT id FROM twoja_tabela 3. zupdejtuj tę nową tabelę: UPDATE tabela SET flag=(ID % 2) 4. załóż indeks na tabID 5. zupdejtuj swoją tabelę korzystając z tej |
|
|
![]() ![]() |
![]() |
Aktualny czas: 10.10.2025 - 07:31 |