Implementieren eines harten Zeilenlimits in MySQL-Tabellen
Frage: Designer stehen häufig vor der Notwendigkeit, ein maximales Limit für in einer MySQL-Tabelle gespeicherte Zeilen durchzusetzen . Gibt es eine definitive Methode, um diese Einschränkung zu erreichen, die über die bloße Angabe eines Hinweises hinausgeht?
Antwort: Das Festlegen eines maximalen Zeilenlimits ist eine häufige Datenbankherausforderung. Während die Eigenschaft MAX_ROWS eher als Vorschlag denn als absolute Obergrenze fungiert, gibt es tatsächlich Möglichkeiten, MySQL-Tabellen ein hartes Limit aufzuerlegen:
Trigger-basierter Mechanismus:
DELIMITER $$ CREATE TRIGGER trigger1 BEFORE INSERT ON table1 FOR EACH ROW BEGIN SELECT COUNT(*) INTO @cnt FROM table1; IF @cnt >= 25 THEN CALL sth(); -- raise an error END IF; END $$ DELIMITER ;
Hinweis: COUNT Vorgänge können bei großen InnoDb-Tabellen langsamer werden.
MySQL 5.5 Signal/Resignal Anweisungen:
Cron-Skript-Methode:
Zusätzliche Überlegungen:
Das obige ist der detaillierte Inhalt vonWie erzwinge ich ein festes Zeilenlimit in MySQL-Tabellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!