【问题标题】:Pagination from Temporary Table从临时表分页
【发布时间】:2012-03-12 06:08:08
【问题描述】:

如果我从临时表分页,我什么时候删除表?表在到达前端后是否/可以进入内存以便可以立即删除表?或者它是否需要“徘徊”直到用户停止浏览页面?

【问题讨论】:

  • 可以肯定,一旦连接关闭(PHP 脚本完成),MySQL 就会转储临时表。
  • 这是否意味着我应该使用临时表进行分页?我不确定这意味着什么......
  • 为什么要使用临时表进行分页?你到底在做什么?你能告诉我们更多细节吗?

标签: php pagination temp-tables


【解决方案1】:

来自MySQL 5.1 Reference Manual - 13.1.17 CREATE TABLE 语法:

TEMPORARY 表仅对当前连接可见,并在连接关闭时自动删除。这意味着两个不同的连接可以使用相同的临时表名,而不会相互冲突或与现有的同名非临时表冲突。 (在删除临时表之前,将隐藏现有表。)

  • “如果我从临时表中分页,我什么时候删除表?”

    一旦连接关闭,MySQL 就会执行此操作。


来自MySQL 5.1 Reference Manual - 14.4。 MEMORY(堆)存储引擎:

MEMORY 存储引擎使用存储在内存中的内容创建表。以前,这些被称为 HEAP 表。 MEMORY 是首选术语,但仍支持 HEAP 以实现向后兼容性。

MEMORY 存储引擎将每个表与一个磁盘文件相关联。文件名以表名开头,扩展名为 .frm,表示它存储的是表定义。

示例:

CREATE TABLE test ENGINE=MEMORY
SELECT ip,SUM(downloads) AS down
FROM log_table GROUP BY ip;
  • 表格是否/可以在到达前端后进入内存,以便 表可以立即删除吗?

    是的,可以将带有搜索结果的表放入内存中,从而提供更快的访问时间。


您可以阅读更多:MySQL Documentation: MySQL Reference Manuals

【讨论】:

    猜你喜欢
    • 2011-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-02
    相关资源
    最近更新 更多