亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

MySql 8.0 讀取速度

MySql 8.0 讀取速度

PHP
烙印99 2023-07-01 16:53:57
我需要一些專業知識,我有一個龐大的 SQL 數據庫,可以與我的移動應用程序結合使用。我從數據庫獲取結果的時間很長,有時長達 20 到 25 秒。我已經設法提高速度,現在檢索結果需要 40 秒。我希望有人能夠了解如何加快查詢速度并在 20 秒以內返回結果。主表有4列+1列“id”列,數據庫包含15,254,543行數據。目前它被設置為InnoDB,有4個索引,大小約為1.3GB。我的服務器是 GoDaddy VPS,1 個 CPU,4 GB RAM。該網站是專用的,我不與其他任何人共享資源,除了一個非?;镜木W站之外,它的唯一用途是 SQL 數據庫。只是要注意,數據庫記錄計數不會變得更大,我真的只需要找出一種更好的方法來比 20 秒更快地返回查詢。更詳細地說,Android 應用程序通過 php 文檔連接到我的網站來查詢并返回結果,我想也許有更好的方法來解決這個問題,這可能就是陷阱。一個有趣的提示是,當我在 PHP My Admin 中時,我可以進行搜索并在 3 秒內獲得結果,這也表明問題可能出在我的 php 文檔中。下面是我為完成這項工作而編寫的 php 文檔。
查看完整描述

2 回答

?
肥皂起泡泡

TA貢獻1829條經驗 獲得超6個贊

<?php

require "conn.php";

$FSC = $_POST["FSC"];

$PART_NUMBER = $_POST["NIIN"];


$mysql_qry_1 = "select * from MyTable where PART_NUMBER like '$PART_NUMBER';";


$result_1 = mysqli_query($conn ,$mysql_qry_1);


if(mysqli_num_rows($result_1) > 0) {

    $row = mysqli_fetch_assoc($result_1);

    $PART_NUMBER = $row["PART_NUMBER"];

    $FSC = $row["FSC"];

    $NIIN = $row["NIIN"];

    $ITEM_NAME = $row["ITEM_NAME"];

    

    echo $ITEM_NAME, ",>" .$PART_NUMBER, ",>" .$FSC, "" .$NIIN;


//usage stats   

$sql = "INSERT INTO USAGE_STATS (ITEM_NAME, FSC, NIIN, PART_NUMBER)

VALUES ('$ITEM_NAME', '$FSC', '$NIIN', '$PART_NUMBER')";


if ($conn->query($sql) === TRUE) {

    $row = mysqli_insert_id($conn);

} else {

    //do nothing

}

//


} else {

    echo "NO RESULT CHECK TO ENSURE CORRECT PART NUMBER WAS ENTERED ,> | ,>0000000000000";

}


$mysql_qry_2 = "select * from MYTAB where FSC like '$FSC' and NIIN like '$NIIN';";


$result_2 = mysqli_query($conn ,$mysql_qry_2);


if(mysqli_num_rows($result_2) > 0) {

    $row = mysqli_fetch_assoc($result_2);

    $AD_PART_NUMBER = $row["PART_NUMBER"];


    if(mysqli_num_rows($result_2) > 1){

        echo ",>";

        while($row = mysqli_fetch_assoc($result_2)) {

            $AD_PART_NUMBER = $row["PART_NUMBER"];

            echo $AD_PART_NUMBER, ",  ";

        }

    

        } else {

            echo ",> | NO ADDITIONAL INFO FOUND | ";

        }

} else {

    echo ",> | NO ADDITIONAL INFO FOUND | ";

}



mysqli_close($con);

?>

所以我的問題是如何利用我擁有的可用資源提高讀取速度,或者我當前的 PHP 文檔是否存在導致此處瓶頸的問題?


查看完整回答
反對 回復 2023-07-01
?
藍山帝景

TA貢獻1843條經驗 獲得超7個贊

通過選擇已建立索引的特定列,您將獲得更快的讀取速度,而不是使用 LIKE。

SELECT * FROM table_name FORCE INDEX (index_list) WHERE condition;

另一個大大加快Mysql速度的事情是在VPS服務器上使用SSD驅動器。SSD 驅動器將大大減少掃描如此大的數據庫所需的時間。


查看完整回答
反對 回復 2023-07-01
  • 2 回答
  • 0 關注
  • 143 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號