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

SQLAlchemy:結合で削除する方法

    これが私がやった方法です:

    map_ids = session.query(Table1.map_id). \
        filter(Table1.xxxx == 'xxx_value')
    
    q = session.query(Table2). \
        filter(Table2.map_id.in_(map_ids.subquery()))
    
    q.delete(synchronize_session=False)
    

    ここで重要なのは、削除する必要のあるIDを見つけてサブクエリを作成することです。次に、「in_」演算子を使用して、削除するレコードを選択します。 'synchoronize_session =False'は、セッションを更新せずにクエリを実行します。これにより、最高のパフォーマンスが向上します。



    1. 新しいインデックスを追加しても、MySQLのインデックスのカーディナリティが変更されないのはなぜですか?

    2. 最適化のしきい値–データのグループ化と集約、パート3

    3. Mysqlには、mssqlのように@@ ROWCOUNTと同等のものがありますか?

    4. STRING_SPLITの改善にご協力ください