临时表与数组

时间:2014-10-01 17:12:38

标签: php mysql

if(!isset($_SESSION["table"])){
$_SESSION["table"] = uniqid();
$table = $_SESSION["table"];

$query = "
CREATE TEMPORARY TABLE `" . $table...

因此每个用户都创建自己的临时表。单击按钮,表经常使用jquery ajax更新。

从技术上讲,似乎一切正常,我发现这是一种处理数据的简单方法,与php数组相比。

但我仍有一些困境:

  1. 临时表存储在哪里?它不存在于phpMyAdmin中?

  2. 可能(appache或sql)服务器太忙于同时从多个用户更新每次点击的表格吗?

  3. 是否有一种简单的方法可以转换此温度。表到永久表?

1 个答案:

答案 0 :(得分:1)

1。它们仅在会话范围内

根据文档temporary tables are only within the scope of the session you have

  

TEMPORARY表仅对当前会话可见,并且是   会话关闭时自动删除。这意味着两个   不同的会话可以使用相同的临时表名称   相互冲突或与现有的非TEMPORARY表冲突   同名。

2。是

同时执行多个语句会非常繁琐...我建议你考虑将查询放入一个可执行函数中,按顺序执行每个语句。

3。有可能

您可以将数据存储在临时表中,然后您可以将其选出 见Docs

老实说如果你想将一个临时表转换成数据库中的一个表,我不知道为什么你不会只是创建表并完全跳过临时表进程...这将使你的整个过程快得多。您还可以在创建更新后查看锁定表,同时还有大量更新。