对不起这个新手问题。
我想查询一个包含1000万行的表。但是,我可能不需要历史数据。鉴于在数据提取过程中减轻服务器上的负载,会在查询帮助中实现WHERE子句吗?例如,我可以仅提取2015年至2016年的数据,而不是2007年至2016年的数据。
或者我应该在没有WHERE子句的情况下拉出整个数据表吗?
谢谢!
答案 0 :(得分:0)
WHERE
显然会有所帮助,因为它减少了从数据库返回到应用程序的行数。而不是1000万行,你会得到一个较小的数字。这通常是表现胜利。
鉴于您想要提取完整年份的数据,WHERE
子句可能不会使用索引。从技术上讲,这是因为条件的选择性太低 - 也就是说,返回的行太多。一个例外是日期/年份列是聚集索引。
但是,不使用索引是不相关的,因为当您的查询具有WHERE
子句时,返回的数据量应该是总数据的一小部分。