2017-07-16 18 views
0

我選擇我的是MySQL的查詢SELECT *好嗎?

$result = mysql_query("SELECT * FROM xy WHERE id='$_POST[ID]'", $mysqlconnect1); 
$logindat = mysql_fetch_array($result); 

查詢是否有任何起色時,我稱之爲「選擇XY FROM」?

+0

**警告**:如果您剛學習PHP,請不要使用['mysql_query'](http://php.net/manual/en/function.mysql-query.php)接口。這是非常可怕和危險的,它在PHP 7中被刪除了。[PDO的替代品並不難學](http://net.tutsplus.com/tutorials/php/why-you-should-be-using-phps -pdo-for-database-access /)以及[PHP The Right Way](http://www.phptherightway.com/)等指南介紹了最佳實踐。你的用戶數據是**不是** [正確轉義](http://bobby-tables.com/php.html),並有[SQL注入漏洞](http://bobby-tables.com/),並且可以被利用。 – tadman

回答

1

表現明智,不會有任何區別。但是,如果您要獲取太多行並且表中有大量列,則可能會出現一些網絡流量。如果您只對幾列感興趣,推薦的方法是使用查詢中的列名稱。

此外,性能將取決於id列上是否有index列。

1

從*到每個列名的性能沒有差別。 *將內部解析爲每個列名稱。僅在涉及聚合函數的情況下減少select子句中的列數纔會有所幫助。