[英]The most optimised MySQL syntax
雖然我已經在網上搜索了很多,但還沒有找到答案。 在PHP中,您可以優化輸出,例如,通過輸入
echo 'This is a sentence by ',$name,' which is fast';
代替
echo 'This is a sentence by $name which is very inefficient';
我的基本示例代碼是
$server=english
mysql_query("INSERT INTO uz(id,email,pw,cook) VALUES('$id','$mail','$pw','$cook')");
它在語句內部使用雙引號和var名稱。 有沒有辦法對此進行優化,或者它是“最佳”版本? 我嘗試過的每一次嘗試都導致mysql錯誤。
不要緊。
這種優化對您的性能沒有任何現實影響。 各種串聯方法之間的性能差異以微秒為單位。 他們根本不扮演現實世界的角色。
而是使用最易讀的內容,並與您的編碼樣式最同步的內容。
您顯示的echo示例也是如此。 除非您運行100,000次,否則性能不會有可衡量的差異(在這種情況下,您無論如何都會做錯事情)。 如果需要,可以使用microtime()
基准測試。
真實地處理微秒; 使用{}
擴展字符串中的周圍變量將為解析器節省一兩個周期,並且還減少了使用時常量和關聯數組鍵之間的混淆。
例如:
$string = 'hi ' . $name . ' how are you?'; //fast
$string = "hi $name how are you?"; //very slightly slower
$string = "hi {$name} how are you?"; //very slightly faster than second example
$string = 'hi ' . $person['name'] . ' how are you?'; //fast
$string = "hi $person[name] how are you?"; //slightly slower and prone constant clashes
$string = "hi {$person['name']} how are you?"; //very slightly faster and not prone to clashes
在第二個使用數組鍵的示例中,如果在某個地方聲明了一個const name
,則可能會遇到問題,因為解釋器不知道您在引用哪個,並且默認情況下使用常量。
在數據庫方面,您可以通過在字段和表名周圍使用“`”來優化查詢,這不僅可以防止關鍵字沖突,還可以加快解釋速度(仍以毫秒為單位)。
例如:
mysql_query("SELECT `id`,`name`,`date` FROM `table` WHERE `id` = {$id}");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.