Mysql データベースに可変列が必要です。meta_data
私はヘルパーテーブルを持つという代替手段を使用しています。の各行に変数列を格納しますmeta_data
。の構造meta_data
は次のとおりです。
CREATE TABLE IF NOT EXISTS `data_meta` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`data_id` int(11) DEFAULT NULL,
`meta_key` varchar(200) CHARACTER SET utf8 DEFAULT NULL,
`meta_value` text CHARACTER SET utf8,
PRIMARY KEY (`id`),
KEY `data_id` (`data_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=347 ;
これらの変数列のいくつかに対してクエリを実行する必要があります。だから私の質問は、Mysqlでのそのようなステートメントのコストはいくらですか:
select *
from data
join data_meta as data_prov on (data.id=data_prov.data_id)
join data_meta as data_city on (data.id=data_city.data_id)
join data_meta as data_price on (data.id=data_price.data_id)
.
.
.
.
現実の世界で、これによりクエリが非常に遅くなる可能性がある場合、代替手段はありvariable columns
ますか?
注:data
との両方meta_data
が急速に成長する可能性があります