One string field ---------------- Real-column statement: SELECT COUNT(*) FROM realcol WHERE INSTR(cf_foo, 'meta') Distributed columns statement: SELECT COUNT(*) FROM distcol_str WHERE field_id = 0 AND INSTR(value, 'meta') Two string fields ----------------- Real-column statement: SELECT COUNT(*) FROM realcol WHERE INSTR(cf_aa, 'meta') AND INSTR(cf_ab, 'meta') Distributed-column statement: SELECT COUNT(*) FROM distcol_str d1, distcol_str d2 WHERE d1.bug_id = d2.bug_id AND d1.field_id =0 AND d2.field_id = 1 AND INSTR(d1.value, 'meta') AND INSTR(d2.value, 'meta') Three string fields ------------------- Real-column statement: SELECT COUNT(*) FROM realcol WHERE INSTR(cf_aa, 'meta') AND INSTR(cf_ab, 'meta') AND INSTR(cf_ac, 'meta') Distributed-column statement: SELECT COUNT(*) FROM distcol_str d1, distcol_str d2, distcol_str d3 WHERE d1.bug_id = d2.bug_id AND d2.bug_id = d3.bug_id AND d1.field_id = 0 and d2.field_id = 1 AND d3.field_id = 2 and INSTR(d1.value, 'meta') AND INSTR(d2.value, 'meta') AND INSTR(d3.value, 'meta') Ten string fields ----------------- Real-column statement: SELECT COUNT(*) FROM realcol WHERE INSTR(cf_aa, 'meta') AND INSTR(cf_ab, 'meta') AND INSTR(cf_ac, 'meta') AND INSTR(cf_ad, 'meta') AND INSTR(cf_ae, 'meta') AND INSTR(cf_af, 'meta') AND INSTR(cf_ag, 'meta') AND INSTR(cf.ah, 'meta') AND INSTR(cf_ai, 'meta') AND INSTR(cf_aj, 'meta') Distributed-column statement: SELECT COUNT(*) FROM distcol_str d1, distcol_str d2, distcol_str d3, distcol_str d4, distcol_str d5, distcol_str d6, distcol_str d7, distcol_str d8, distcol_str d9, distcol_str d10 WHERE d1.bug_id = d2.bug_id AND d2.bug_id = d3.bug_id AND d3.bug_id = d4.bug_id AND d4.bug_id = d5.bug_id AND d5.bug_id = d6.bug_id AND d6.bug_id = d7.bug_id AND d7.bug_id = d8.bug_id AND d8.bug_id = d9.bug_id AND d9.bug_id = d10.bug_id AND d1.field_id = 0 AND d2.field_id = 1 AND d3.field_id = 2 AND d4.field_id = 3 AND d5.field_id = 4 AND d6.field_id = 5 AND d7.field_id = 6 AND d8.field_id = 7 AND d9.field_id = 8 AND 10.field_id = 9 AND INSTR(d1.value, 'meta') AND INSTR(d2.value, 'meta') AND INSTR(d3.value, 'meta') AND INSTR(d4.value, 'meta') AND INSTR(d5.value, 'meta') AND INSTR(d6.value, 'meta') AND INSTR(d7.value, 'meta') AND INSTR(d8.value, 'meta') AND INSTR(d9.value, 'meta') AND INSTR(d10.value, 'meta') SELECT COUNT(*) FROM distcol_str d1, distcol_str d2, distcol_str d3, dist col_str d4, distcol_str d5, distcol_str d6, distcol_str d7, distcol_str d8, distcol_str d9, distcol_str d10 WHERE d1.bug_id = d2.bug_id AND d2.bug_id = d3.bug_id AND d3.bug_id = d4.bug AND d4.bug_id = d5.bug_id AND d5.bug_id = d6.bug_id AND d6.bug_id = d7.bug_id AND d7.bug_id = d8.bug_id AND d8.bug_id = d9.bug_id AND d9.bug_id = d10.bug_id AND d1.field_id = 0 AND d2.field_id = 2 AND d3.field_id = 2 AND d4.field_id = 3 AND d5.field_id = 4 AND d6.field_id = 5 AND d7.field_id = 6 AND d8.field_id = 7 AND d9.field_id = 8 AND d10.field_id = 9 AND INSTR(d1.value, 'meta') AND INSTR(d2.value, 'meta') AND INSTR(d3.value, 'meta') AND INSTR(d4.value, 'meta') AND INSTR(d5.value, 'meta') AND INSTR(d6.value, 'meta') AND INSTR(d7.value, 'meta') AND INSTR(d8.value, 'meta') AND INSTR(d9, value, 'meta') AND INSTR(d10.value, 'meta') One string, one integer ----------------------- Real-column statement: SELECT COUNT(*) FROM realcol WHERE INSTR(cf_aa, 'meta') AND cf_int1 > 500 Distributed-column statement: SELECT COUNT(*) FROM distcol_str d1, distcol_int d2 WHERE d1.bug_id = d2.bug_id AND d1.field_id 0 AND d2.field_id = 10 AND INSTR(d1.value, 'meta') AND d2.value > 500 Two strings, two integers ------------------------- Real-column statement: SELECT COUNT(*) FROM realcol WHERE INSTR(cf_aa, 'meta') AND instr(cf_ab, 'meta') AND cf_int1 > 500 AND cf_int2 > 500 Distributed-column statement: SELECT COUNT(*) FROM distcol_str d1, distcol_str d2, distcol_int d3, distcol_int d4 WHERE d1.bug_id = d2.bug_id AND d2.bug_id = d3.bug_id AND d3.bug_id = d4.bug_id AND d1.field_id = 0 AND d2.field_id = 1 AND d3.field_id = 10 AND d4.field_id = 11 AND INSTR(d1.value, 'meta') AND INSTR(d2.value, 'meta') AND d3.value > 500 AND d4.value > 500