在開發 PHP 搭配 MySQL 的應用程式時,程式碼的撰寫方式直接影響執行效能。本文透過實際程式碼範例,比較不同寫法對查詢速度的影響,並提供優化建議。
以下程式碼展示典型的分頁邏輯,但存在幾個效能問題:
<?php
include_once("../db.php");
// 依據 GET 參數建構 WHERE 條件
if ($_GET['x2'] == 0 && $_GET['x1'] == 0) {
$t = " s1='' ";
} else {
if ($_GET['x2'] != 0) {
$t = " x2='{$_GET['x2']}' ";
} else if ($_GET['x1'] != 0) {
$t = " x1='{$_GET['x1']}' and x2=0 ";
}
}
// 查詢總筆數
$query = "select count(*) from ask_member where $t";
$result2 = mysql_db_query($DataBase, $query);
$r3 = mysql_fetch_array($result2);
$amount = $r3[0];
// 計算總頁數
$page_size = 5;
if ($amount % $page_size == 0 && $amount > 0) {
$pagecount = ($amount / $page_size);
} else {
$pagecount = intval($amount / $page_size) + 1;
}
// ... 後續分頁顯示邏輯
?>
後續頁面將深入探討索引策略、查詢快取、連線池等進階優化技巧。