Category Archives: MySQL

Usuwanie wierszy z tabel MySQL pomijając klucze obce

Dziś trochę z innej beczki. Ostatnio w zakładzie przysiadam trochę nad wydajnością. Jedną z rzeczy, w której maczałem palce jest przeczyszczenie dużych tabel w MySQL. Niestety – momentami logika kluczy/contraintów dla poszczególnych tabel bywa totalnie niezrozumiała, stąd konieczność zastosowania małych haków.

Jeden z nich objawił się kiedy trzeba było przeczyścić tabelę, której część klucza głównego była kluczem obcym w innej tabeli.  Stosowanie znoszenia constraintów, albo kaskadowe czyszczenie nie wchodziło w grę (kilka archaicznych systemów, różne procesy wkładania danych do tabel, itp). Stąd ostatecznie internet podpowiedział przyjemną rzecz – wyłączenie sprawdzania kluczy obcych. Więcej w tym temacie można znaleźć w tym miejscu, dodam też, że rzecz działa również w najnowszej wersji MySQL.

Advertisements