読者です 読者をやめる 読者になる 読者になる

MySQLdbのメモリー・リーク

Python MySQL SQLAlchemy

MySQLdb(mysql-python)の現在の安定版である1.2.2ユニコード処理関連でメモリー・リークがあるとのことなので、SQLAlchemyから使う場合は、ここに書いてある通り、use_unicode=0オプションを渡してエンジンを生成すること。SQLAlchemyがUnicode, UnicodeTextのカラムは自動的にエンコード・デコードしてくれるので、このオプションを追加しても、SAのテーブル定義に問題がなければアプリケーションには影響が及ばないはず。

engine = create_engine('mysql://scott:tiger@localhost/test?charset=utf8&use_unicode=0', pool_recycle=3600)

詳細は下記のページを参照。

SQLAlchemy等のORMに頼らないで、MySQLdbのユニコード変換を素で使っていた場合はMySQLdbのtrunk版を使えってことらしいが、これも安定しているかどうか不明とのこと。

via.

see also,