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

単純なMySQLサブクエリのパフォーマンス

    最初のクエリで、mysqlはmdl_enrolからサブセットを選択する必要があります テーブルと完了 mdl_user_enrolments およびmdl_userdata メモリに。したがって、メモリ内の大量のデータを選択します。それを行った後、データを結合します。データが結合されてクライアントに返送されるまで、すべてのデータを配置するのに十分なメモリがない場合は、ハードドライブに一時テーブルが作成されます。ほとんどの場合、mysqlオプティマイザは、間違いを修正して実行プランを改善しようとするほどクールではありません。だから遅いです。

    一方、2番目のクエリでは、mysqlは正確に何を選択する必要があるかを認識しており、必要なデータの少量のみを選択します。このシナリオでは、インデックスを使用できます(必要なすべてのインデックスが作成されていることを前提としています)。だから速いです。




    1. IBMWorklightでMySQLをセットアップする方法

    2. SQL Server:1 ++ 2とはどういう意味ですか?

    3. PandasWrite_Frameを使用して結果をcx_OracleのOracleデータベースにエクスポートする方法

    4. UTF8文字列のMD5ハッシュを計算します