大量データの集計を早くする方法

このQ&Aのポイント
  • データベース初心者の方でも、大量のデータを効率的に集計する方法について教えてください。
  • MySQL 5.0を使用して、複数のアンケートを作成し、ユーザーの回答をテーブルに格納しています。しかし、アンケート件数が非常に膨大になると、集計に時間がかかる恐れがあります。どのようなテーブル構造やデータベースアクセスの方法が効果的でしょうか?
  • 集計対象のデータが増えると、処理時間が増加してしまうため、効率的なデータベースの構成やクエリの最適化が必要です。どのような方法を取ると、データの集計を高速化することができるでしょうか?
回答を見る
  • ベストアンサー

大量データの集計を早くするには?

データベース初心者です。よろしくお願いします。 mysql5.0で何種類かのアンケートをつくり、 ブランドのアンケートであれば年齢階層(ラジオボタン)やブランド(複数可のチェックボタン)、 車のアンケートであれば、年齢階層(ラジオボタン)や車種(複数可のチェックボタン)の好み などを取りテーブルに格納しています。 そしてその結果は、1種類のテーブル(アンケート種別やアンケート設問がラジオかチェックかの区別)に 格納しています。 そして、20歳が何人、グッチの好みの人が何人と質問項目毎に集計しようとしています。 しかし、アンケート件数が非常に膨大(例えば1億件)となったとき、 時間がかかるのではないかと心配しています。 良い、テーブル構成とか、DBアクセスの仕方などありますでしょうか? テーブル構造は アンケート番号(キー) 質問番号(キー) 質問種別(ラジオかチェックボックスか) 回答 ユーザーID よろしくお願いします。

  • MySQL
  • 回答数1
  • ありがとう数0

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

1億件となるとデータの容量も莫大で、 検索性以前に容量に耐えられないかもしれません。 それなりのシステムを組んで最適化していく必要 もあるでしょう。 MySQLの機能として時間のかかったSQLを抽出する 仕組などありますので、SQLのボトルネックは みつけることもできますが、本質的にはデータが 大きければそれなりの時間がかかるというのは 避けられないので、テーブルをわけて必要分だけ UNIONでつないだり、定型の集計データは スタティックにもたせたりするのが効率的ですね。

関連するQ&A

  • AppleWorks6 データベース集計

    AppleWorks6のデータベースでイベントのアンケートの集計したいのです。300枚のアンケートをレコードとして打ち込み済みで、並び替えや検索でなるほど分析ができるのですが、集計機能が上手く使えません。 数字の総計などについては、ヘルプでも市販本でも説明があるのですが、チェックボックスやラジオボタンの集計について説明しているものが無くてとても困っています。 レコードは、次のようなものです。 --- 来て良かったですか?(どちらかにチェック) □yes □no あてはまるものにチェックして下さい。(複数可) □おもしろかった □参考になった □雰囲気がいいと思った --- これの ・「yes」の人数と ・「おもしろかった」にチェックした人の数が知りたいです。 さらに欲を言えば ・「おもしろかった」と「参考になった」の両方にチェックした人の数も知りたいです。 ※yes/noはラジオボタン、おもしろかった などはチェックボックスを使用しています。  集計ではなく、検索でなら「おもしろかった」にチェックしている人数など分かるのですが、腑に落ちないのです。

  • ラジオボタンについて

    こんにちは。 複数の項目についてアンケートを行うため、ラジオボタンでユーザに選択して もらおうとするため質問事項を何個か考えました。 年齢、都道府県、血液型、・・・etc HTMLで記述すると年齢のラジオボタンの20代という項目をチェックし、 都道府県の北海道と選択すると以前選択した20代という項目のチェックが 消えてしまいます。 項目ごとにラジオボタンのグループ化ってできないのですか?

    • ベストアンサー
    • HTML
  • エクセルでのデータ集計

    まずは質問に目を通していただきありがとうございます。 今エクセルでのアンケートのような物をおこなっているのですが、 データの形式的には A列:名前 B列:住所 C列:可不可 D列:ジャンル このような形になっています。 可不可が1~3の番号制なのですが、 ジャンルが全角文字になっています。 文字列は決まっていますが複数可能なので●●、△△ のようになって入力されています。 このデータを使って集計したいのですが、2種類の集計を出したいです。 1つはC列の縦の集計を1は何人、2は何人、3は何人 といった集計の出し方。 もう1つが少し厄介なのですが C列が1でD列に●●が含まれているのが何人、△△が含まれているのが何人。 同じくC列が2で・・・(以下同じ) C列が3は不可の方なので数字が分かればよいので無しで大丈夫です。 こういった集計は出来ますでしょうか? 分かりにくいかもしれませんが、ご指南お願い致します。

  • Access2000 一覧フォームからチェックボックスで選択して、別フォームへ結果を入力させたい

    お世話になります。 Access初心者です。 説明もわかりづらいかと思いますが、どうかお願い致します。 アンケートフォームなどによくある機能で、 住んでいる地域を選択する時などに、「選ぶボタン」や「リンク」などから都道府県が一覧になっている別フォームが開いて、 その中はチェックボックスで選択するようになっており、 該当箇所にチェックすると、アンケートフォームに住所が入力?記載?されるというような動きがしたいです。 この説明だとおかしいですが、このチェックは複数選択が可能であることが条件になり、 なおかつ、データを入れるテーブルは下記のようにしたいのです。 <地域マスタテーブル> 地域CD 県名 1     北海道 2     秋田 3     岩手 4     山形 ・ ・ ・ <アンケートテーブル> アンケートNo. 氏名 地域 1        田中  1 1        田中  4 2        本田  3 3        中山  8 3        中山  12 3        中山  20 ・ ・ アンケートテーブルから、アンケートフォームを作成し、 |【アンケートフォーム】------------| |アンケートNo.:1             | |氏   名  :吉田           | |地   域  :「選ぶボタン」      |  -------------------------------- 「選ぶボタン」を押すと、地域一覧フォームが出てきて、 <地域一覧フォーム>※チェックボックスで選択(複数可)     ■北海道 □秋田 □岩手 ■山形 □宮城・・・・・・    チェックをしたものが「地域」に入力される。 |【アンケートフォーム】------------| |アンケートNo.:1             | |氏   名  :田中           | |地   域  :北海道  山形    |  -------------------------------- ※アンケートテーブルにはあくまでも、 アンケートNo. 氏名 地域 1        田中  1 1        田中  4 と、なる。 (主キーをアンケートNo.、氏名、地域の3つにしている為) なにぶん超初心者ですので、解説もして頂けるととても嬉しいです。 どうか宜しくお願い致します。

  • VBAのチェックボックス結果を集計したい

    Excel上でVBAのチェックボックスやオプションボタンを使ったアンケートを作りました。 このアンケート結果(チェックボックスなどのオン・オフ)を集計したいのですが、回収件数が多いので、自動的に処理したいのです。 複数のExcelファイルが回収して集まってきます。 どのようなマクロやVBAを作ればよいか、教えて下さい。

  • フォーム内の二つのテーブルのうち一つのテーブル内のオブジェクトの内容のみをクリアしたい

    フォーム内にテーブルを二つ作成しました。 テーブル1の中のあるチェックボックスのチェックが入っているかいないかにより テーブル2のオブジェクト(テキスト、ラジオボタン、チェックボタン)の内容を全てクリアしたいのです。 テキストは中身を消して、ラジオボタン、チェックボタンはチェックを はずしたいということです。 テーブル1はそのままで、テーブル2のみ初期状態にしたいのです。 まとめてクリアしたいのですが、出来ないのでしょうか?

  • 複数のテーブルの集計

    あけましておめでとうございます。よろしくお願いします。例えばPHPを利用して二つの店舗で好きなブランドのアンケートを取りそれぞれテーブルに格納するとします。 tenpoa_tbl id,bland tenpob_tbl id,bland2 count(bland)とcount(bland2)の合計値をポイントが高い順に(たとえば店舗Aの順位が シャネル10 プラダ  6 グッチ  3 B店舗の順位が シャネル 8 ビトン  7 グッチ  2 合計がシャネル 18    ビトン  7    プラダ  6    グッチ  5 こんな感じで集計したいのですが分かる方いらしゃいますか?   

    • ベストアンサー
    • MySQL
  • エクセル2007でのアンケート集計について

    エクセル2007にてアンケート調査を計画しています。 選択肢において、属性(性別、年齢)など、単一回答を得る場合にはドロップアウトボックスを使用しています。 しかし、選択肢が多数あり、かつ複数選択可能な項目を設けたい場合、ドロップアウトボックスが使えないものかと悩んでいます。 チェックボックスを挿入しようかとも考えたのですが、一つ一つ挿入し、体裁を整えるのが面倒で、できればドロップアウトボックスで複数選択可能、という形式にしたいのですが、可能でしょうか? よろしくお願いいたします。

  • ラジオボタンやチェックボックスの作り方

    エクセルで簡単なアンケートを作っていて、性別の選択などで ラジオボタンを、複数選択項目でチェックボックスを設置した いのですが、どのような操作をすればよいのでしょうか? ただ見るだけ、プリントアウトするだけなので、プログラム (VBA?)などに反映されていなくてもいいです。 また、ワードでもこのようなボタンを設置することはできるの でしょうか?

  • ASP:チェックボックスについて

    アンケートページを作成中です。HTMLでチェックボックスを作りました。テキストベースかエクセルベース(縦並び)でアンケートの答えを書き出し集計をとる予定です。まず、ラジオボタンに対してのASPは分かったのですが、チェックボックスに対してのASPが分かりません。複数チェックが出来なくなってしまったり、結果(テキストやエクセル)にアンケートの答えが出なく”;;”表示になってしまいます。分かる方、どうか教えてください。ASP初心者です。よろしくお願いします。