query-optimization

    1

    1答えて

    アプリケーションからのイベントを記録するロギングテーブルがありますが、古いエントリを削除しようとすると、サーバーの速度が低下し、アプリケーションのデータベース使用が保留されます。新しいログイベントの作成を中断せずに、または他のデータベース操作を禁止することなく、30日以上経過したログエントリをすばやく削除することができます。 INFO: ロギングテーブルはとても一般的には、ロギングの月の約10万行

    1

    2答えて

    私はPHPフレームワークのコア関数を介して生成されたクエリを持っています。私はクエリを変更するコントロールがありません。したがって、効率的な時間にこのクエリを実行するために、サーバ側、つまりmysqlで最適化を実行する必要があります。私はいくつかの指標を適用しましたが、まだそれは約4-5秒を取っており、理想的には1-1.5秒かかるでしょう。 ( SELECT rr.rt_bids_aos_

    1

    1答えて

    作業シフトの計算には一般的なケースがあります。関数内で使用することもあれば、コード内で直接使用することもあります。それはコードの年齢によって異なります。 私の質問は、これらのケースを実装するより効率的な方法がありますか? 作成する計算された列は、多くのテーブルからの時間が異なるため、オプションではなく、ほとんどは変更できないテーブルです。 これは、例えばコード 機能 Create Function

    1

    2答えて

    を選択し、私は、次のテーブルがある:第二の「ITEM_ID」列は元の「ID」列を参照 mysql> show create table rsspodcastitems \G *************************** 1. row *************************** Table: rsspodcastitems Create Table: CREAT

    2

    2答えて

    私はクエリを実行しており、MySQLがそれほどゆっくりと実行している理由を理解するのに苦労しています。以下の3つのシナリオで、実際のクエリとEXPLAINを含めました。 最初のクエリは非常に実行が遅く(23秒)、where句から1つのフィールド(クエリ2)を削除すると、クエリは0.010秒で実行されます。これはTinyIntフィールドです(基本的にブール値0/1が格納されます)。 プロジェクト -

    0

    1答えて

    hereとしてset optimizer_switch='block_nested_loop=off'を設定した場合、オプションonとoffについて同じ結果が100%確実に得られますか? このオプションをoffに変更すると、私のケースではクエリのパフォーマンスが56秒から1秒に向上するためです。 このオプティマイザスイッチの長所と短所は何ですか?

    0

    1答えて

    はCOL2に使用可能なインデックスがあります SELECT col1 FROM t GROUP BY col2 HAVING COUNT(col3) > 1; ようなクエリを想像してみてください。 MySQLがcol2インデックスをスキャンしてCOUNT(col3)を計算すると、カウントが1を超えたら直ちにカウントを停止し、次の一意のcol2値にスキャンしますか?それとも、すべての行を考

    0

    2答えて

    私はjoinsとsubqueryを使ってクエリを書いています。その実行には2分かかります。私はそれを最適化することができませんどのように私はできますか?なにか提案を? select oli.*,oli2.* from order o LEFT JOIN order_line_item oli ON oli.order_id = o.id LEFT JOIN order_line_item ol

    -2

    1答えて

    コードを書き換えるより良い方法はありますか?クエリは永遠に実行されます。ありがとうございました SELECT * from w..ts where not si in ( select si from g..sa ) and ci in ( Select ClientID from w..tcwhere ds= 'AZ'

    1

    2答えて

    WHERE句を持つテーブルのクエリ時間に意味のある差異(または特定のテーブルサイズについての経験則)があるかどうかは、結果セットをサイズに等しい小さなテーブルと比較して制限しますポストWHEREの、限定された結果セット?例えば : あなたのテーブルには、長年にわたるタイムスタンプを持つレコードを持っています。結果を過去10日間に限定するWHERE句を含むクエリを実行します。 テーブルのデータはわず