![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 726 Pomógł: 20 Dołączył: 8.12.2005 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Cześć wszystkim.
Mam najpierw szereg skryptów wykonujących inserty updaty i takie tam. Lecz na koniec chce dać opcję powrotu do początku. Znalazłem coś takiego jak TRUNCATE TABLE, ale niema tam opcji where która by mnie interesowała, bo potrzebuje wykasować tylko to co zostało dodane przez daną sesję o danym identyfikatorze. Z góry mówie że Delete mnie nie intresuje bo on owszem usunie mi rekordy, ale id'ki które mają autoincrementa nie zostaną skasowane. I nowy insert będzie na kolejnych numerach (czyli po tych już skasowanych). Czy znacie jakąś inną komendę? na mysl'u pisze TAK Ten post edytował Wykrywacz 19.10.2006, 11:14:12 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
Mozesz dac DELETE WHERE + dostosowac AI w tabeli (http://dev.mysql.com/doc/refman/5.0/en/alter-table.html) ale co z rekordami stworzonymi przez innych userow (sesje) w tym samym czasie?
A po co ci przywracanie starego AI? Nie mozesz zwiekszyc typu pola int -> bigint? -------------------- Nie lubię jednorożców.
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 726 Pomógł: 20 Dołączył: 8.12.2005 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Z sesjami się nie martwię, bo to ręcznie nadawany ID który łaczy się jeszcze z idendyfikatorem użytkownika, niema możliwości zdublowania numeru, bo jest to numer dla użytkownika.
Swoją drogą powinien zwykły int wystaraczyć (góra 15 tyś rekordów miesięcznie). Poprostu bardzo spodobał mi się TRUNCATE, który kasuje równierz autoincrementowane id. A tym samym optymalizuje mi bazę do zmniejszania ilości numerków w bazie. Stąd moje pytanie. Bo naraz może być to nawet różnica 1000 rekordów. Które albo są zaoszczędzone, albo nie ![]() Ten post edytował Wykrywacz 19.10.2006, 11:29:51 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
KISS:
Moim zdaniem komplikujesz sobie zycie -- daj big inta -- chyba 9-z-wieloma zerami IDkow, powinno starczyc. Nie ma co sie bawic z odzyskiwaniem wartosci AI. A TRUNCATE to (jak pamietam) usuwa tabele i tworzy ja na nowo i nie mozna go wykonac wewnatrz transakcji. -------------------- Nie lubię jednorożców.
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 726 Pomógł: 20 Dołączył: 8.12.2005 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Dokładnie to robi
![]() bigint nie jest potrzebny zwykły int ma nawet 11 (w każdym razie na tyle mi z automatu ustawił phpmyadmin ![]() A mam jeszcze tylko takie optymalizacyjne pytanie. Czy jeżeli mam ustawione indexowanie, i właśnie są kasowane takie rekordy, czy on te usunięte też indexuje czy pomija? Co to znaczy KISS: ![]() Ten post edytował Wykrywacz 19.10.2006, 11:43:02 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
[quote]Czy jeżeli mam ustawione indexowanie, i właśnie są kasowane takie rekordy, czy on te usunięte też indexuje czy pomija?[/quoite]
Nie rozumiem... KISS - http://pl.wikipedia.org/wiki/KISS_(reguła) czyli to co napisalem tam ponizej ![]() -------------------- Nie lubię jednorożców.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 19:51 |