最有效的方法来做这个PHP脚本

时间:2011-01-17 16:55:54

标签: php mysql processing-efficiency

我在数据库中有任意数量的用户(这可能是100,2000或3)我正在做的是使用mysql“show tables”并将表名存储在一个数组中,然后我正在运行一个while循环并获取每个表名(用户名)并将其插入到某些代码中,然后我为每个表名运行所述代码段。有3个用户,此脚本大约需要20秒。它使用Twitter API并执行一些mysql插入。这是否是最有效的方式?

3 个答案:

答案 0 :(得分:5)

当然不是!

我不明白为什么要将每个用户存储在他们的表中。您应该创建一个users表并从那里进行选择。

它将在0.0001秒内运行。

更新

表格包含行和列。您可以在行中存储多个用户,并在列中存储有关每个用户的信息。

请尝试一些数据库设计教程/书籍,他们会帮助你很多。

答案 1 :(得分:0)

如果您担心在同一个用户表中为每个用户存储多个条目,则可以使用 tweet_id 引用该推文的单独表格。

我当然会选择一个用户表。

答案 2 :(得分:0)

数据库针对处理多行进行了优化;使用的一些技术是索引,磁盘上数据的物理布局等。许多表的操作总是会变慢 - 这不是RDBMS的构建。

有一个例外 - 有时您通过分片(分区数据)来优化数据库,但这种方法有许多优点和缺点。其中一个缺点是像你描述的那样的查询需要花费很多时间。

您应该将所有用户放在一个表中,因为从逻辑的角度来看,它们代表一个实体。