方法 1 :
CREATE TABLE `ads` (
`idads` int(11) NOT NULL AUTO_INCREMENT,
`idobject` int(11) NOT NULL,
`ad_type` enum('SALE','RENT','NEWHOUSING','GBUY','LAND','FIXMOVE') DEFAULT 'SALE',
)
CREATE TABLE `house` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`uid` varchar(15) DEFAULT NULL,
「SALE」データを選択するには
SELECT * FROM ads a JOIN house h on (h.id = a.idobject) WHERE a.ad_type = 'SALE';
方法 2
CREATE TABLE `ads` (
`idads` int(11) NOT NULL AUTO_INCREMENT,
`uid` varchar(15),
CREATE TABLE `house` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`uid` varchar(15) DEFAULT NULL,
「SALE」データを選択するには:
SELECT * FROM ads a JOIN house h on (a.uid=h.uid);
method2 の uid はすでに data_type の情報を持っています。
私はどちらがベストプラクティスなのか混乱しています:
Method1 の方が速いようですが、 ad_type = 'SALE'; を指定する必要があります。
Method2 はより単純なようで、uid で参加するだけでよいのですが、遅いようですか? 本当ですか?
どれがベストプラクティスですか? そして、どちらがより良いパフォーマンスですか? それとも全く違いますか?
PS。テーブル広告は、テーブル ハウス、テーブル ランド、テーブル ニューハウジングなどと結合されるため、正規化します。テーブル広告には、ads_start_date、ads_end_date、およびその他の有用な情報が格納されます。