Am 05.03.20 um 14:45 schrieb Luca Bertoncello:

Vielleicht hatte ich doch noch einen Satz auf Latein übrig...

Ich habe also probiert temporär die ForeignKey-Prüfung zu deaktivieren. Pof! Es wird nichts mehr blockiert...

Kurz über unsere DB-Struktur:
- Tabelle "meta" mit statischen Daten (eine autoinkrementelle ID als PK)
- Tabellen "value_current" und "value_aggregat1" mit den Werten und eine Referenz an meta. Diese ist die FK, natürlich

Sobald ich SET FOREIGN_KEY_CHECKS=0; bei der Aggregation der Daten habe, wird keine fremde SQL-Anfrage mehr blockiert... Ich frage mich, ob es aber eine bessere Lösung gibt, denn, so wie ich weiß, ich kann diese Prüfung nur "instanzweit" deaktivieren, also während der Aggregation wäre es theoretisch möglich Daten in "value_current" einzutragen, die keine entsprechenden Satz in "meta" haben...


laut https://stackoverflow.com/questions/8538636/does-mysql-foreign-key-checks-affect-the-entire-database betrifft das nur die aktuelle Session, es geht aber auch global zu setzen.

Gruselig.



Andreas

--
2ndQuadrant - The PostgreSQL Support Company.
www.2ndQuadrant.com


Antwort per Email an