Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个 MySQL 表,它使用 MPTT 方法存储分层数据。该表还有一列,我在其中为每一行存储一个短字符串标识符(slug)。
当给定由这些 slug 组成的路径时,我希望能够查询表以找到正确的行。即给定路径foo/bar,我想以最有效的方式找到它所代表的行。
foo/bar
我可以在单个 SQL 查询中执行此操作吗?如果不是,将多个查询串在一起以获得正确结果的最有效方法是什么?我在我的应用程序中使用 PHP,如果这不能完全通过 SQL 查询来完成,这可能是相关的。
如果您想要快速读取并且不介意写入速度较慢,请将路径缓存在另一列中。您可以通过仅使用父节点的缓存路径更新更改的节点(及其子节点)来更有效地重新生成路径缓存。