有時爲了使代碼更加「乾淨」,經常把已經定義的變量從新賦值給另外一個變量。這實際上就致使了雙重內存的消耗(當改變變量的時候),這就致使腳本的性能降低。好比一個用戶把一個512KB的變量在額外插入給另外一個變量,那麼就會致使1MB的內存被消耗掉。mysql
$description = strip_tags($_POST['description']);sql
echo $description;數據庫
上面的代碼沒有任何緣由,複製了一遍變量。你僅須要使用內聯的方式簡單輸出變量,而不用額外的消耗內存。 性能
echo strip_tags($_POST['description']);spa
常常犯的錯誤是把一個SQL 操做放置到一個循環中,這就致使頻繁的訪問數據庫,更重要的是,這會直接致使腳本的性能低下。如下的例子,你可以把一個循環操做重置爲一個單一的SQL語句。ip
過程:內存
foreach ($userList as $user) {io
$query = 'INSERT INTO users (first_name,last_name) VALUES("' . $user['first_name'] . '", "' . $user['last_name'] . '")';ast
mysql_query($query);class
}
替換這種循環方案,你可以拼接數據成爲一個單一的數據庫操做。
過程:
$userData = array();
foreach ($userList as $user) {
$userData[] = '("' . $user['first_name'] . '", "' . $user['last_name'] . '")';
}
$query = 'INSERT INTO users (first_name,last_name) VALUES' . implode(',', $userData);
mysql_query($query);
INSERT INTO users (first_name,last_name) VALUES("John", "Doe"),("Jane", "Doe")...