list = RandomInteger[{0, 9}, {50000, 5}]; e1 = 1; e2 = 2; t1 = Cases[ list, {___, e1, ___, e2, ___} | {___, e2, ___, e1, ___}]; // AbsoluteTiming t2 = Select[list, MemberQ[#, e1] && MemberQ[#, e2] &]; // AbsoluteTiming t3 = Pick[list, Unitize@Count[#, e1] Count[#, e2] & /@ list, 1]; // AbsoluteTiming t1 == t2 t2 == t3 Dimensions /@ {t1, t2, t3}