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

MySQL制限パフォーマンス

    1ミルレコードのテーブルの問題は、AND id > 34000 LIMIT 10ではありません。 またはLIMIT 34000, 10 それは構造と残りのクエリ次第です。つまり、クエリを高速化するには、インデックス、PK、FKが必要です。また、Order byを使用すると、クエリが遅くなる可能性があります。検索をlike '%text%' クエリが遅くなります。また、それはテーブルのエンジン次第です

    したがって、制限10を変更しても大きな違いが生じるとは思わないでください。 「より良い」クエリを決定するのに役立つツールがいくつかありますが、すべてのクエリが同じように機能するわけではないため、「最良の解決策」は存在しないため、期待しないでください。

    Show create tableを使用できます またはDescribe select ...... またはexplain 何が起こっているかを確認するか、コマンドbenchmarkを使用してください 関数を改善するために適用している関数のおおよその時間を確認するには

    編集:

    MySQL用のいくつかのツールパフォーマンスのこの部分で役立つこのプログラムを確認することをお勧めします。

    • Mysqlslap(ベンチマークに似ていますが、結果をさらにカスタマイズできます)。
    • SysBench(CPUパフォーマンス、I / Oパフォーマンス、ミューテックス競合、メモリ速度、データベースパフォーマンスをテストします)。
    • Mysqltuner(これにより、一般的な統計、ストレージエンジンの統計、パフォーマンスメトリックを分析できます)。
    • mk-query-profiler(SQLステートメントの分析を実行します)。
    • mysqldumpslow(ウィッチクエリが問題を引き起こしていることを知っておくとよいでしょう)。


    1. クエリでのANSI1992JOINとCOMMAの混合

    2. phpとmysqlを使用してcsvファイルを作成する場合のファイルサイズの制限はありますか?

    3. 管理者専用のテーブルでDrupal7を編集可能なフィールドにする方法

    4. postgreSQLで既存のテーブルのcreatetablesqlステートメントを生成する方法