MySQL テーブルの行制限の強制: より効率的なアプローチ
MySQL テーブルの最大行制限を維持することは、データ サイズとデータを管理するために不可欠です。パフォーマンス。 MAX_ROWS プロパティはデータベース エンジンにヒントを提供しますが、厳密な制限を強制するものではありません。
代替ソリューション
改善されたソリューション: エラー処理を伴うトリガー
より効率的な解決策には、最大制限に達したときに新しい行の挿入を制限するトリガーを作成することが含まれます。挿入プロセス中にエラーを発生させることで、トリガーはテーブル サイズを超えないようにします。
この解決策を実装する方法は次のとおりです。
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 ステートメントを使用してエラーを発生させることができます。
このアプローチには次の利点があります。
以上がMySQL テーブルで行制限を効率的に適用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。