MySQL データ取得の問題。

WBOY
リリース: 2016-09-03 00:14:12
オリジナル
1137 人が閲覧しました

  1. 主キーがなく、一意の共用体が 1 つだけあるテーブルがあります (date,user_id,count_name, )
    テーブル レコードの例: date:20160808 user_id:556 count_name: a1

  2. date は日付を表し、user_id はユーザーの ID を表し、count_name は特定の統計値を表します。

  3. count_name の可能な値 (a1,a2,a3,···,a12,b1,b2,b3,···,b12);

  4. 毎日何万ものレコードが生成されます。

  5. 一度にデータベースから取得できるレコードの最大数は 10,000 です。

今度は 12 個の値を数える必要があります。 mysql ステートメントを使用して次のように表現できます:

リーリー

この方法でデータベースを 12 回フェッチすると結果は得られますが、効率は高くありません。

必要なデータを一度に取得する方法はありますか? (これは比較的大量のデータを含む古いデータベースです。データベースの変更は最終的な検討事項です。)

試した方法:

  1. ページング統計の場合、テーブルに主キーがないため、ページングの処理が困難です。

  2. MySQL の制限により、一度にデータを取り出せるのは 10,000 件程度です。それ以上はデータが崩れる可能性があります。

返信内容:

  1. これで、主キーがなく、一意のジョイントが 1 つだけ (date,user_id,count_name, ) のテーブルができました。
    テーブル レコードの例: date:20160808 user_id:556 count_name: a1

  2. date は日付を表し、user_id はユーザーの ID を表し、count_name は特定の統計値を表します。

  3. count_name の可能な値 (a1,a2,a3,···,a12,b1,b2,b3,···,b12);

  4. 毎日何万ものレコードが生成されます。

  5. 一度にデータベースから取得できるレコードの最大数は 10,000 です。

今度は 12 個の値を数える必要があります。 mysql ステートメントを使用して次のように表現できます:

リーリー

この方法でデータベースを 12 回フェッチすると結果は得られますが、効率は高くありません。

必要なデータを一度に取得する方法はありますか? (これは比較的大量のデータを含む古いデータベースです。データベースの変更は最終的な検討事項です。)

試した方法:

  1. ページング統計の場合、テーブルに主キーがないため、ページングの処理が困難です。

  2. データは一度に取り出されて処理されますが、mysql は一度に約 10,000 個のデータしか取り出せません。それ以上だとクラッシュする可能性があります。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート