=?iso-8859-2?Q?MYSQL_-_szybkie_usuwanie_rekord=F3w_z_tabeli?=
Yanks - 14-12-2006 16:08
=?iso-8859-2?Q?MYSQL_-_szybkie_usuwanie_rekord=F3w_z_tabeli?=
mam dosc spora bazke mysql. Potrzebuje usunac duzo rekordow. juz raz zapuscilem kwerende DELETE FROM tabela WHERE data<"2006-10-01" pod dniu mielenia przerwalem. W czasie usuwania rekordow moge zapewnic wylacznosc, tzn ze zadne rekordy nie sa zmieniane,dodawane. Tabela jest w INNODB. Czy jest jakis sposob np. na wylaczenie transakcji, badz inne sztuczki, ktore pozwola mi usunac. Probowalem tez kopiowa? dane poprzez SELECT INTO, ale tez chyba z powodu zapewnienia TRANSAKCYJNOSCI najpierw jest to wrzucane do tabeli temp*. I tez trwa bardzo dlugo. kolumna data jest indeksowana.
Yanks
Maciek Dobrzanski - 14-12-2006 16:08
"Yanks" <pawel.janosz@expert-monitor.pl> wrote in message news:ekf4on$rt2$1@news.dialog.net.pl...
> tzn ze zadne rekordy nie sa zmieniane,dodawane. Tabela jest w INNODB. > Czy jest jakis sposob np. na wylaczenie transakcji, badz inne sztuczki, > ktore pozwola mi usunac.
Na czas kasowania du?ej ilo?ci starych danych nic nie poradzisz, to b?dzie trwa? d?ugo. Kasowanie mniejszymi porcjami (DELETE ... LIMIT ..) mo?e by? jedynie mniej uci??liwe, bo pozwala na nieco lepsz? kontrol?. W pewnych sytuacjach mo?na rozwa?y? dwie alternatywy, które mog? przyspieszy? proces usuwania zb?dnych danych:
- tak jak napisa?e? - kopiowanie aktualnych danych do innej tabeli, usuni?cie starej i zmiana nazwy - j.w. tyle, ?e przez dump&restore
Natomiast na przysz?o?? pozostaje oczywi?cie partycjonowanie danych.
Maciek
Yanks - 14-12-2006 16:08
=?iso-8859-2?Q?Re:_MYSQL_-_szybkie_usuwanie_rekord=F3w_z_tabeli?=
> > Natomiast na przysz?o?? pozostaje oczywi?cie partycjonowanie danych. > No wlasnie tez myslalem o partycjonowaniu, ale to chyba tylko wersja na linuxie, bo doczytalem ze wersja windowsowa nie obsluguje kilku plikow jesli sa na roznych dyskach, a znowu uzycie komendy dla innodb kazda tablica w innym pliku tez skutkuje komunikatem nie znany paramert, gdy odpalamy mysql.exe -u root -p
Yanks
Maciek Dobrzanski - 14-12-2006 16:08
"Yanks" <pawel.janosz@expert-monitor.pl> wrote in message news:ekkkm3$lke$1@news.dialog.net.pl...
> No wlasnie tez myslalem o partycjonowaniu, ale to chyba tylko wersja na > linuxie, > bo doczytalem ze wersja windowsowa nie obsluguje kilku plikow jesli sa na > roznych > dyskach, a znowu uzycie komendy dla innodb kazda tablica w innym pliku > tez
Mia?em na my?li nieco inne partycjonowanie ;) http://dev.mysql.com/doc/refman/5.1/...titioning.html Tyle, ?e 5.1 na wi?ksz? skal? narazie raczej tylko w ramach eksperymentów.
Maciek
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
Gdzie MySQL 4.1, a gdzie 5.0?
[MS SQL] "set names" (mySQL) w MS SQL
oracle -> oracle lub oracle -> mysql replikacja - programy
[mysql 4.0] SELECT t1.id, t1.foo FROM t1 oraz COUNT t2 w jednym zapytaniu.
[MySQL] Zwrot tego, co pasuje i nie pasuje :-/
[pgsql] Dostosowanie składni MySQL 5.0 -> PGSQL 8.1
[mysql] galeria zdjec - numerowanie zdjec
[MySQL] Zapytanie z pliku , wynik do pliku
[mysql] CONCAT agregujący, ale nie GROUP_CONCAT()
mysql data 0000-00-00 na koniec
zanotowane.pldoc.pisz.plpdf.pisz.plred-hacjenda.opx.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|