2つのテーブルに分割するかどうかには、テキスト列を含む大きな(数百K個の)レコードがあるかどうかに少しのジレンマがあります。ORMS
質問店舗のニュース記事内のテーブル:
CREATE TABLE `article` (
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
`articleType` varchar(7) DEFAULT NULL,
`dateCreated` datetime NOT NULL,
`label` varchar(75) NOT NULL,
`lastUpdated` datetime NOT NULL,
`reporter` mediumint(8) unsigned NOT NULL,
`text` text NOT NULL
PRIMARY KEY (`id`),
KEY `reporter-fk` (`reporter`),
CONSTRAINT `reporter-fk` FOREIGN KEY (`reporter`) REFERENCES `reporter` (`id`)
)
ので、大したことは、あなたが(最新ニュース)の見出しを取得したいまっすぐSQLにあなたが欲しいの列(ID、ラベルをつかむだろう、 列のすべてが含まれていdateCreated)と
ORMでの作業、しかし、オブジェクトが取得されたくないもの(特に肥大化テキスト列)を除外するには、その直近の50つかん記事はいくつかのオーバーヘッド、おそらくそれほど大したものではありませんが、私はまっすぐSQLを書くとき、私はこのケースではすべてのフィールドをつかむことはありません。
ORMの現実を考えれば、テキスト列を別の関連する表に分割するか、気にしないでORM grab-the-whole-enchiladaのコンベンションに参加して、サイトのトラフィックがより効率的になるように心配してください、2テーブルソリューション?
生産中のORMのない単一のテーブルがあります。開発中に、私はすべてのクエリで記事のテキストを含めるという(完璧主義者)の考えに対処できないので、テーブルを分割しました。このポストはORMのコンベンションやSQLコンベンションに行くのですが、私の好みは後者の方が私が最もよく知っているものです。 – virtualeyes