1DROP TABLE IF EXISTS t1, t2; 2CREATE TABLE t1 ( 3id mediumint unsigned NOT NULL auto_increment, 4tag char(6) NOT NULL default '', 5value text NOT NULL default '', 6PRIMARY KEY (id), 7KEY kt(tag), 8KEY kv(value(15)), 9FULLTEXT KEY kvf(value) 10) ENGINE=MyISAM; 11CREATE TABLE t2 ( 12id_t2 mediumint unsigned NOT NULL default '0', 13id_t1 mediumint unsigned NOT NULL default '0', 14field_number tinyint unsigned NOT NULL default '0', 15PRIMARY KEY (id_t2,id_t1,field_number), 16KEY id_t1(id_t1) 17) ENGINE=MyISAM; 18INSERT INTO t1 (tag,value) VALUES ('foo123','bar111'); 19INSERT INTO t1 (tag,value) VALUES ('foo123','bar222'); 20INSERT INTO t1 (tag,value) VALUES ('bar345','baz333 ar'); 21INSERT INTO t2 VALUES (2231626,64280,0); 22INSERT INTO t2 VALUES (2231626,64281,0); 23INSERT INTO t2 VALUES (12346, 3, 1); 24SELECT * FROM t1; 25id tag value 261 foo123 bar111 272 foo123 bar222 283 bar345 baz333 ar 29SELECT * FROM t2; 30id_t2 id_t1 field_number 3112346 3 1 322231626 64280 0 332231626 64281 0 34SELECT DISTINCT t2.id_t2 FROM t2, t1 35WHERE MATCH (t1.value) AGAINST ('baz333') AND t1.id = t2.id_t1; 36id_t2 3712346 38SELECT DISTINCT t2.id_t2 FROM t2, t1 39WHERE MATCH (t1.value) AGAINST ('baz333' IN BOOLEAN MODE) 40AND t1.id = t2.id_t1; 41id_t2 4212346 43DROP TABLE t1, t2; 44