2017-07-16 19 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子句中的列数才会有所帮助。