私はデータベースに何人ものユーザーを持っています(これは100、2000、または3でも構いません)。 "show tables"を使用してテーブル名を私はwhileループを実行しているし、すべてのテーブル名(ユーザーの名前)を取っていくつかのコードに挿入すると、私はすべてのテーブル名のコードを実行している。 3人のユーザーで、このスクリプトは約20秒かかります。 Twitter APIを使用し、いくつかのmysqlの挿入を行います。これはそれを行う最も効率的な方法ですか?このPHPスクリプトを実行する最も効率的な方法
答えて
確かにありません!
なぜ各ユーザーをテーブルに格納するのか分かりません。 users
テーブルを作成し、そこから選択する必要があります。
0.0001秒で実行されます。
更新:
テーブルには行と列があります。複数のユーザーを行に格納し、各ユーザーの情報を列に格納できます。
いくつかのデータベースデザインチュートリアルや書籍を試してみてください。彼らはあなたに大いに役立ちます。
私はtweet_idとツイートと呼ばれる列を各ユーザが持っているので、私はそれをこのようにしている。どのように私はこれを行うだろうが、ユーザーと呼ばれる1つのテーブルと? – benhowdle89
これをアップして、一般的なデータベース設計を見てみましょう。他のいくつかの開発者を驚かせるかもしれませんが、私は実際にこの設計アイデアを思いついている他の人たちについて聞いてきました。正直なところ、このアイデアがテーブル間の周囲の結合の理解の欠如以外に由来するのかどうかはわかりませんが、悲しいかな、これは絶対に最善の答えです。私は、すべての単一ユーザのためのテーブルを作成する世界の生産システムはないと考えることができます。それは狂気です。 – cgp
同じユーザーテーブル内に各ユーザーの複数のエントリを格納することを心配している場合は、tweet_idを参照してツイート用のテーブルを作成することができます。
私は確かに1人のユーザーテーブルに行きます。
okこれはいいですね。私はそれぞれのテーブルよりはるかに良いと思います – benhowdle89
データベースは多くの行を処理するために最適化されています。使用される技法の中には、索引、ディスク上のデータの物理的レイアウトなどがあります。多くのテーブルの操作は常に遅くなります。これは、RDBMSが構築されたものではありません。
1つの例外があります。シャーディング(データのパーティション化)によってデータベースを最適化することもありますが、この方法は欠点と同じくらい多くの利点があります。欠点の1つは、説明したようなクエリに多くの時間がかかることです。
論理的な観点から、すべてのユーザーを1つのテーブルに入れる必要があります。これは、1つのエンティティを表すためです。
- 1. &&を実行する最も効率的な方法?
- 2. このスクリプト言語を解析する最も効率的な方法
- 3. 最も効率的な方法のハンドラ
- 4. BlackListを実装する最も効率的な方法
- 5. Eigen行列をループする最も効率的な方法
- 6. 最も効率的な方法
- 7. もっと効率的な方法.php
- 8. Rubyでループを実装する最もスマートで最も効率的な方法
- 9. プリエンプティブ待ち行列を実装する最も効率的な方法は?
- 10. このSQL Server 2008のクエリを実行する最速/最も効率的な方法は?
- 11. MySQLでフルテキスト検索を行う最も効率的な方法
- 12. 最も効率的な方法は、SQLの行
- 13. データのハッシュをフォーマットする最も効率的な方法は?
- 14. 大量のオーディオファイルをフォーマットする最も効率的な方法
- 15. 最も効率的なマルチレベルコメントシステム
- 16. 最も効率的なバブルソートメカニズム
- 17. これら2つのforeach-loopを実行する最も効率的な方法は何ですか?
- 18. android.net.wifi.ScanResultをComparableにする最も効率的な方法は?
- 19. JSONをC#で解析する最も効率的な方法
- 20. ファイルを検索する最も効率的な方法
- 21. GCDでファイルをコピーする最も効率的な方法は?
- 22. ラジアルプロファイルを計算する最も効率的な方法
- 23. アクティビティログを作成する最も効率的な方法
- 24. ウェブサイト上でコンテンツをスケジュールする最も効率的な方法
- 25. 親/子を処理する最も効率的な方法
- 26. タイムスタンプでデータを取得する最も効率的な方法
- 27. 画像を更新する最も効率的な方法
- 28. シングルトンクラスを使用する最も効率的な方法
- 29. トークンの単語を数える最も効率的な方法
- 30. SQLの先行0をintに追加する最も効率的な方法
だから、各ユーザーは独自のテーブルを取得できますか? – ndtreviv
はい、これは正しくありませんか?私は1つのテーブル内のユーザーを混乱させたくない – benhowdle89
なぜあなたはすべてのユーザーのための別のテーブルを持っていますか?これはTwitterのためですか?担当者は、このようなシステムを自分で設計するつもりはないと示唆しています。 – Tesserex