MySQL数据不够快

时间:2015-01-19 11:14:05

标签: php ios mysql web-services

我正在构建一个使用网络服务的iOS应用。这个Web服务是用PHP构建的。

现在我正在建立一个评价电影的功能。该数据库包含以下表格:

Movie
MovieID --- Title --- DateAdded

Watched
UserID --- MovieID --- Rating --- DateWatched

我没有数据库中的所有电影,但我使用的是API。

评论电影的过程包括以下内容:

1. Is the movie available in the `Movie` table?
  NO: Get the movie from the API and put it in the `Movie` table.
  YES: Do nothing.

2. Is the movie available in the `Movie` table? (a second check)
  NO: Rating the movie failed. Send back an error.
  YES: Put the movie with rating in the `Watched` table.

现在问题是电影第一次被评级,所以当它不在Movie表中时,它会被插入但在第二次检查时不可见。所以我猜测PHP比数据库更快。 为了检查这一点,我在第二次检查之前放了sleep(4)。当我这样做时,它可以工作。

支票如下:

$stmt = $this -> db -> prepare
("
    SELECT MovieID
    FROM Movie
    WHERE MovieID = ?
");
$stmt -> bind_param("i", $movieID);
$stmt -> execute();

$stmt -> store_result();

$numberOfRowsMovies = $stmt -> num_rows;

$stmt -> close();

if ($numberOfRowsMovies == 0) // movie not in DB yet
{
    // insert movie into 'Movie' table
    // or send FAILED message back
}

因此,在第二次检查时,$numberOfRowsMovies为0,而它应为1.

编辑//注意事项:数据库为空。因为记录太多,所以它不会太慢。

0 个答案:

没有答案