千万级数据量如何查询效率高
数据库中表A中有几千万条数据,请问要查询指定的一天的数据该如何写sql语句效率更高?一天中有许多具体的时间。
------解决方案--------------------常规方法就是在日期列上创建索引,如果你需要查询的时候排序,那么就创建个聚集索引,创建的时候,日期列按照期望的排序顺序来创建,比如按照升序查询,那就create clustered index xxx on tb (日期列),倒序排序就加desc,如果不用排序, 加个非聚集索引。
如果不用select *而是select 少数列,那把那些列加在一个非聚集索引上,可以避免键查找
------解决方案--------------------加索引并且分区
------解决方案--------------------1.可以创建表分区按照时间来分区
2.可以将数量大的表拆分成很多很多的小表。这个小表是按照业务生成的。
------解决方案--------------------能确定查询字段了
加对应的索引就行了
记录再多,改为分区表