我有一个在订单表中有500,000条记录的SQL表。 sql已经使用了5年,每年在数据库上添加了大约100,000条记录。 该表有大约30个字段,其中一个字段是“OrderDate” 该查询仅需要过去几个月的记录,最多12个月。 所以之前的所有记录都是无用的,并且减缓了所有查询。
查询很慢,需要3-4秒,几年前几乎是同一个查询。 我必须一次加载并打印所有字段列。 我是否可以忽略SQL而不查看部分记录,假设2013年之前使用OrderDate的记录,或者前400,000条记录或忽略某些部分记录而不删除它们?
答案 0 :(得分:0)
据我所知,您有两种选择:
创建一个与旧表相同的新表并在其中插入要忽略的行,然后从原始表中删除这些行。如果这些行对每个查询都“无用”(并且如果它可行,则可以更新使用这些行的其他查询),此解决方案很好。
索引列。
答案 1 :(得分:0)
这是表分区的经典用法,但我们不知道您使用的SQL类型,因此我们不知道它是否支持它。为SQL版本添加标记(SQL Server?Oracle?)