sql >> データベース >  >> RDS >> Mysql

SQLAlchemyセッションオブジェクトにセッションを設定します

    セッションイベント> 新しいトランザクションごとに任意のSQLステートメントを実行します。ユースケースによって異なりますが、接続レベルでイベントを使用することもできます。

    セッションレベルでの方法は次のとおりです。

    Session = sessionmaker()
    @event.listens_for(Session, 'before_flush')
    def set_max_heap_table_size(session, transaction, connection):
        session.execute('SET max_heap_table_size = 1024 * 1024 * 64')
    

    どちらの方法が効果的かわからない場合は、試してみて、テストケースをいくつか作成し、それが効果的かどうかを確認してください。

    注意点が1つある可能性があります(不明):接続は切断されずにプールに戻されるため、設定が保持される可能性があります。この場合、デフォルトに戻すために何かを添付することもできます。 after_flushで イベント。これについては完全にはわかりません。実験してみてください。これが不要な場合は、after_beginを使用することもできます イベントですが、実際のbefore_closeはありません それをラップするイベントなので、問題が発生する可能性があります。



    1. 実績/バッジシステム

    2. 行レベルのセキュリティの詳細な調査

    3. T-SQLサブクエリMax(Date)と結合

    4. spring jpa application.properties useSSL