我正在使用MySQL temporary tables和connection pooling。
通常,会话中创建的临时表会保留在该会话中,并在关闭连接时被删除。但是,由于我在调用java.sql.Connection.close()
时使用连接池和物理连接并未实际关闭,因此我发现临时表停留并影响下一个会话。
这会导致数据库资源泄漏,因为临时表不会立即释放,以及由于表名冲突而导致名称冲突。
直观地说,当我借用连接时,我期待一个干净的平板。如何实现这一目标?
sp_reset_connection
。除临时表外,此问题也会影响:
答案 0 :(得分:0)
使用MySqlConnection.ClearPool(连接);能行得通。 我对GET_LOCK()有类似的问题,MySqlConnection.ClearPool(连接)可以解决这个问题。