簡體   English   中英

最優化的MySQL語法

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM