Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 30.06.2008 Ostrzeżenie: (0%)
|
Witam serdecznie, opis sytuacji:
posiadam tabelę z prezentacjami, oraz inną tabelę ze zdjęciami do prezentacji. dużo prezentacji wygasło, a ich zdjęcia zaśmiecają mi tabelę zdjęć tworząc zestaw powyżej pół miliona rekordów. Chciałbym odchudzić bazę, jednak mam duży problem. Napisałem sobie skrypt, który pobiera z tabeli prezentacje ID prezentacji których status to zero i usuwa row z tabeli zdjęcia. Jednak skrypt działa tak wolno, że musiałbym poczekać z miesiąc aż skonczy się to robić. Zastanawiam się nad napisaniem jednego zapytania sql które: 1)z tabeli prezentacje pobiera id_prezentacje gdzie status = 0 2) z tabeli zdjecia usówa rekordy w których id_prezentacje = pobrane ID podejmowałem próby z zapytaniami zagnieżdżonymi jednak nie udało mi się rozwiązać problemu. przykład zapytania które testowałem:
zgłasza mi błąd - Subquery returns more than 1 row Nie wiem naprawdę jak to napisać, i co więcej, czy przy takiej ilosci rekordów ( prezentacje = 300 000, zdjecia = 500 000 ) da się to zrobić 1 zapytaniem Uprzejmie proszę o pomoc PS. urządza mnie jedno z dwóch rozwiązań, update zdjęcia z nieaktywnej prezentacji i oznaczenie jego status=0 LUB usunięcie zdjęć z nieaktywnych prezentacji (IMG:style_emoticons/default/smile.gif) Ten post edytował budda1989 28.07.2012, 20:40:20 |
|
|
|
budda1989 Duży problem z dużą bazą 28.07.2012, 20:24:27
bpskiba nie ten operator
...WHERE `id_prezentacja... 28.07.2012, 21:48:05
rzymek01 zamiast IN lepiej używać EXISTS, bo IN przetrzymuj... 28.07.2012, 22:02:21 
budda1989 Cytat(rzymek01 @ 28.07.2012, 23:02:21... 28.07.2012, 22:14:41 
BaN Cytat(budda1989 @ 28.07.2012, 23:14:4... 28.07.2012, 23:34:35
BaN Wygląda na to, że zdjęcia są przyporządkowane do w... 28.07.2012, 22:14:34
budda1989 Witam ,dziękuję za odpowiedzi, niestety nadal cały... 29.07.2012, 10:49:52
BaN Jakie dokładnie zapytanie wykonujesz, że masz taki... 29.07.2012, 22:50:14 ![]() ![]() |
|
Aktualny czas: 26.12.2025 - 14:08 |