I omitted a pair of curly brackets. I meant to write
Transpose@{Flatten@{Range[2,5],Range[7,10]}}.
a = RandomReal[{}, 2*^7];
b1 = Delete[a, Partition[Join[Range[2,5],Range[7,10],
Range[15,18]],1]]; // Timing
b2 = a[[Join[{1,6},Range[11,14],Range[19,Length@a]]]]; // Timing
b3 = Fold[Drop[##]&, a, {{15,18},{7,10},{2,5}}]; // Timing
b4 = a[[Complement[Range@Length@a, Range[2,5],Range[7,10],
Range[15,18]]]]; // Timing
b5 = a[[komplement[Length@a, Join[Range[2,5],Range[7,10],
Range[15,18]]]]]; // Timing
SameQ[b1,b2,b3,b4,b5]
c1 = Complement[Range@Length@a, Range[2,5],Range[7,10],
Range[15,18]]; // Timing
c2 = komplement[Length@a, Join[Range[2,5],Range[7,10],
Range[15,18]]]; // Timing
SameQ[c1,c2]
{0.55,Null}
{1.88,Null}
{1.81,Null}
{8.91,Null}
{3.65,Null}
True
{7.81,Null}
{2.,Null}
True
If your lists will usually be so long, with so few elements to
be deleted, it looks like deleting will be faster than taking.