我一直在創建一個php應用程序,使相當多的查詢到數據庫我會說約每個頁面大約30左右的負載。由於應用程序的性質,這是需要的。我正在使用OOP php技術並儘可能地優化我的查詢。我應該使用某種緩存系統嗎?或者你會說30是好的?這是一個典型的查詢。PHP優化是正確的?
好了,所以我__construct
看起來是這樣的:
public function __construct($host = 'localhost', $user = 'root', $pass = 'root', $name = 'advert')
{
$this->_conn = new mysqli($host, $user, $pass, $name)
or trigger_error('Unable to connect to the server, please check your credentials.', E_USER_ERROR);
}
而像這樣一個方法。
$sql = "SELECT `advert_id`,
`ad_title`,
`ad_image` FROM adverts WHERE UNIX_TIMESTAMP() < `ad_expires` AND `ad_show` = 0 AND `ad_enabled` = 1 ORDER BY `ad_id` DESC LIMIT 1";
$stmt = $this->_conn->prepare($sql);
if ($stmt) {
$stmt->execute();
$stmt->bind_result($ad_id, $ad_title, $ad_image);
$rows = array();
while ($row = $stmt->fetch()) {
$item = array(
'ad_id' => $ad_id,
'ad_title' => $ad_title,
'ad_image' => $ad_image
);
$rows[] = $item;
}
該應用程序有點像整個。
謝謝任何反饋將不勝感激。
**編輯對不起,我的意思是說30個查詢沒有30個連接
不要爲每個對象使用新的連接。這是荒謬的。使用共享的DB對象。就我個人而言,我經常根據項目將我的項目存儲在'$ GLOBALS'中,但還有其他方法可以做到這一點。 – Brad
30 * queries *很好,30 * connections *不是。除非你連接到30個不同的數據庫。 – deceze
哦,不,我在閱讀完布拉德的評論之前提高了評論。在'$ GLOBAL'中,真的嗎?這更可笑,每頁超過30個連接。 –