MySQL テーブルにハード行制限を実装する
質問: 設計者は、MySQL テーブルに格納されている行に最大制限を適用する必要に直面することがよくあります。 。単にヒントを指定する以外に、この制限を達成するための決定的な方法はありますか?
回答: 最大行制限を設定することは、データベースの一般的な課題です。 MAX_ROWS プロパティは絶対的な上限ではなく提案として機能しますが、MySQL テーブルにハード制限を課す方法は実際にあります:
トリガーベースのメカニズム:
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 ;
注: COUNT 操作は、大きな InnoDb テーブルでは速度が低下する可能性があります。
MySQL 5.5 Signal/Resignal ステートメント:
Cron スクリプト メソッド:
追加の考慮事項:
以上がMySQL テーブルで行のハード制限を強制する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。