直接让代码了,对比看看就了解了
当然,这种情况比较适合提取字段较多的情况,要酌情而定
性能较差的:
WITH #temp AS ( Select column1,column2,column3,column4,column5,column6,column7,column8,column9,column10, row_number() over (Order by column100 desc) as RowNumber From tables1 Where ..... ) SELECT * FROM #tempWHERE RowNumber BETWEEN 1601 and 1620 ORDER BY RowNumber |
优化后,性能较好的
WITH #temp AS ( Select column1, row_number() over (Order by column100 desc) as RowNumber From tables1 Where ..... ) SELECT column1,column2,column3,column4,column5,column6,column7,column8,column9,column10FROM tables1where column1 in(select column1 from #tempWHERE RowNumber BETWEEN 1601 and 1620 ORDER BY RowNumber ) |