多くの訪問者を期待している共有ホストに Web サイトがあります。読み取り用のデータベースは必要ありません (ページに表示されるものはすべて PHP でハードコーディングされています) が、ユーザーが入力するデータを書き込み専用に保存したいと考えています。実際、私はこれを保存して、後で統計分析を行います(ダウンロードした後、ローカルコンピューターに保存します)。
だから私の2つの質問:
MySQL はこれに対する実行可能なオプションですか? PHP/MySQL が利用可能な共有ホスティングで実行することを意図しているため、他の多くの派手なパッケージを実際に使用することはできませんが、たとえばファイルへの書き込みがこの目的に適している場合は、それも可能です。私が理解している限り、ファイルに行を追加することは、巨大なファイルにとって比較的複雑な操作です。一方、MySQL データベースに同時に接続する 100 人以上のユーザーは、1 つの安価な INSERT クエリを実行するためだけであっても、おそらく大きな負荷になります。
MySQL が適切なオプションである場合、テーブルはどのように構成するのが最適ですか? 現在、自動インクリメントする主キーを持つ InnoDB テーブルが 1 つあり
id
ます (もちろん、データを格納する列の隣にあります)。これは汎用的な構成なので、テーブルに書き込むだけでテーブルから読み取る必要がないことを考えると、もっと最適化された方法があるのではないでしょうか?
編集: 私は主に、ウェブサイトがリリースされるとすぐにバイラルになることを恐れているので、ユーザーは非常に短い時間枠で訪問することを期待しています. もちろん、データベースが過負荷になったために入力したデータを失いたくありません。