2017-07-16 6 views
0

私はmySQLクエリはSELECT * OKですか?

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

と私のクエリは、私が「XYをから選択」を呼び出す任意の改善があります選択しますか?

+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

パフォーマンスは賢明ですが、違いはありません。ただし、あまりにも多くの行をフェッチしていて、表に膨大な数の列があると、ネットワーク・トラフィックが発生する可能性があります。いくつかの列のみに興味がある場合は、クエリの列名を使用することをお勧めします。

また、indexid列にあるかどうかによってパフォーマンスが変わります。

1

*と各列名の間には違いはありません。 *は内部的に各列名を解決します。 select句でカラム数を減らすと、集約関数が含まれている場合にのみ役立ちます。

関連する問題