sql >> データベース >  >> RDS >> Mysql

SELECT COUNT()vs mysql_num_rows();

    COUNTを使用する 、内部的にサーバーはリクエストを異なる方法で処理します。

    COUNTを実行する場合 、サーバーはカウントの結果を保存するためにメモリを割り当てるだけです。

    mysql_num_rowsを使用する場合 、サーバーは結果セット全体を処理し、それらすべての結果にメモリを割り当て、サーバーをフェッチモードにします。これには、ロックなど、さまざまな詳細が含まれます。

    次の疑似シナリオのように考えてください。

    SELECT COUNT(*)

    ボブさん、教室には何人いますか?

    mysql_num_rows

    ボブさん、教室のすべての人を私に送ってください...私は彼らを数えて自分で人の数を取得します

    要約すると、mysql_num_rowsを使用する場合 すべてのレコードをクライアントに転送しているため、クライアントはカウント自体を計算する必要があります。



    1. 新しいテーブルが作成されているときにのみ実行するトリガーを作成する

    2. Oracle11GのINSERTSELECTステートメント

    3. SQLServerでストアドプロシージャを暗号化する方法

    4. SQLServerのインストール方法