相关疑难解决方法(0)

查找分层字段的最高级别:有与没有 CTE

注意:此问题已更新以反映我们目前正在使用 MySQL,这样做后,我想看看如果我们切换到支持 CTE 的数据库会更容易。

我有一个带有主键id和外键的自引用表parent_id

+------------+--------------+------+-----+---------+----------------+
| Field      | Type         | Null | Key | Default | Extra          |
+------------+--------------+------+-----+---------+----------------+
| id         | int(11)      | NO   | PRI | NULL    | auto_increment | 
| parent_id  | int(11)      | YES  |     | NULL    |                | 
| name       | varchar(255) | YES  |     | NULL    |                | 
| notes      | text         | YES  |     | NULL    |                | 
+------------+--------------+------+-----+---------+----------------+
Run Code Online (Sandbox Code Playgroud)

给定 a name,如何查询顶级父级?

给定 a name,如何查询id …

mysql hierarchy

65
推荐指数
3
解决办法
8万
查看次数

为什么要减少MySQL中的wait_timeout配置参数?

问题

我正在开发一个使用 Apache Tomcat 中的连接池与 MySQL 进行通信的应用程序。我想知道为什么要使用比默认值 28,800 秒更小的wait_timeout ?我发现减少等待超时有很多缺点,但是有什么优点呢?

背景

参数wait_timeout定义为

服务器在关闭非交互式连接之前等待该连接上的活动的秒数。

问题

如果我将 wait_timeout 设置得太小,那么 MySQL 将终止我的 Web 应用程序正在使用的连接池中仍然有效的连接。在我的情况下,我是当前在任何时候使用该应用程序的唯一人,因此当我不测试它时,数据库连接自然会处于空闲状态。我可以通过简单地将 MySQL 上的 wait_timeout 延长到非常大的值来解决这个问题,这样即使我离开办公桌 2 周,池也永远不会返回死连接。

问题

  • 为什么有人想要更短的 wait_time?
  • 存储连接的开销有那么糟糕吗?
  • 尽管我了解连接池减轻了创建连接的开销,但将空闲连接保留在内存中是否是一个问题?

mysql jdbc waits

6
推荐指数
1
解决办法
2万
查看次数

标签 统计

mysql ×2

hierarchy ×1

jdbc ×1

waits ×1