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

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s