SQL更新中的Web主机延迟

时间:2018-04-29 18:48:26

标签: php mysql

我使用VB.NET调用PHP脚本,该脚本将记录插入由我的webspace提供者托管的数据库中的表中。使用他们的PHPMyAdmin工具,它立即显示。使用像MySQL Workbench这样的远程工具,它也会立即显示出来。

如果我使用其他PHP脚本来检索该数据,则需要10分钟才能显示该记录。同样,如果我删除记录,用于检索数据的PHP脚本仍会在那里看到大约10分钟。我怀疑数据库的副本是"迁移" PHP要访问的不同活动副本;可能出于安全原因。

我对PHP有点新鲜。这是一个已知的"功能"?有什么方法可以加快速度吗?

谢谢!

根据要求,这里有一些额外的细节和说明: 谢谢。将尝试更详细和具体。所有php脚本和数据库都是从我的提供商托管的。

  1. 从VB我从Web提供商的网站调用php脚本(myInsert.php)将值插入表中。这些值通过URL传递给myInsert.php。插入的记录具有一个具有唯一值的字段(UserID)。插入后脚本会返回成功。
  2. 我还有一个php脚本(myCheckExist.php),我从VB运行,也位于Web提供商的网站上,以检查是否存在包含相关UserID的特定记录。然后,它返回与UserID关联的其他值。
  3. 如果我运行myInsert.php,那么使用PHPMyAdmin或MySQLWorkbench可以立即看到插入的记录。直到10分钟后,myCheckExist.php才会显示它。我通过定期运行myCheckExist.php脚本来确定这一点。 10分钟后,插入的记录对myCheckExist.php可见。

    十分钟后,当使用myCheckExist.php显示记录时,如果我使用PHPMyAdmin从表中手动删除该记录然后运行myCheckExist.php,脚本将继续返回该记录实际上仍然存在10分钟。在那之后,myCheckExist.php脚本返回记录不存在。

    myCheckExist的代码如下:

    //routine to check if the record with the UserID is present.  Returns true if it has, returns false if not
    
    gc_collect_cycles();
    
        //Get the variables from the url line
        $USERID = $_GET['USERID'];
    
    //include the key variables
    //This comes from a file in the .htpasswds directory
        include '../.htpasswds/Progcfg.php';
    
        //Establish the connection to the database
    $cxn = mysqli_connect($servername, $username, $password, $dbname);
    
    if ($cxn->connect_error) {
        die("Connection failed: " . $cxn->connect_error);
    };
    
        //Build the SQL statement using the variables
    $sqlstatement = "SELECT NumberPurchased FROM TableUserInfo WHERE USERID = '$USERID'";
    
    //make the query
    $result = $cxn->query($sqlstatement);
    
    if ($result->num_rows >0) 
        {
        $row = $result->fetch_assoc();
        echo $row[NumberPurchased];
        }
    else
        {echo "False";
        }
    
        //close the connection
        mysqli_close($cxn);
    
    //I tried adding these in case it was a buffer issue, but they didn't seem to do anything regarding the delay
    unset($result);
    gc_collect_cycles();
    ob_end_clean();
    ?>
    

    我的想法是PHPMyAdmin和像MySQL Workbench这样的远程工具指向" live"实时维护的数据库以及PHP脚本(无论出于何种原因)对每10分钟更新一次的数据库副本进行操作。

    我在我的托管服务中联系了技术支持,但是他们不确定延迟并且无法提供PHP编程支持。

    如果您需要其他具体细节,请与我们联系。

0 个答案:

没有答案