私は SQL を初めて使用し、パフォーマンスへの影響を理解していません。SQL データベースはすべてを 1 か所に格納しているようです。これは、テーブルが非常に急速に非常に大きくなることを意味しませんか? これはパフォーマンスに影響しませんか?
Stackoverflow モデルの例ですが、スレッド化されたコメントがあります。
CREATE TABLE t_users (
name varchar(80) primary key,
email varchar(80)
);
CREATE TABLE t_posts (
id varchar(80) primary key,
userid varchar(80) references t_users(name),
title varchar(80),
description text,
topic varchar(80),
path text
);
これは有効な設計ですか?これまでにすべてのユーザーのすべての投稿が同じテーブルに保存されています...したがって、トピック「プログラミング」を持つすべてのコメントを照会したい場合は、トピックが異なる投稿であっても、すべての投稿を調べる必要があります。それらはすべて同じテーブルに格納されています....これは、より複雑なクエリを作成すると、ディスク上のテーブルが大きくなるほど指数関数的に遅くなることも意味します。すべての投稿を新しいテーブルに分割したほうがよいのではないでしょうか?