When i run the cross join on huge tables, then obviously it takes time, But when i put this into UNION operation with one more query, which is returning less data, then this entire query runs too fast. How it is happening internally? What i know about UNION is, it searches for distinct data and in my case it returns the less data. For example, I ran one test cross join query and returned 50,00 rows and took 4 seconds, but when i put this query in UNION with one query (which returns 150 rows), then it takes less than a second and just 435 rows. I am just curious to know what happened internally. Thanks in advance.