最大的数据量~日期按月生成解决思路

最大的数据量~日期按月生成
表1
姓名 时间1 时间2 时间3
张三 20080501 20091130 20091220
王五 20050101 20060930 20061030
张三 20100701 20111130 20111220


如何生成另一个表,让表1的每一条记录,从时间1到时间2按月生成

表2
姓名 时间1 时间3
张三 20080501 20091220
张三 20080601 20091220
张三 20080701 20091220

.....

张三 20091130 20091220

表2会有上千万条记录,怎么才能快一些~




------解决方案--------------------
SQL code
*-- vfp9 代码
Create Cursor 表2 (姓名 C(10), 时间1 C(8), 时间3 C(8))
Select 0
Use 表1
Scan all
  Scatter name orec
  t1 = Cast(Transform(时间1,'@R XXXX/XX/XX') as D)
  t2 = Cast(Transform(时间2,'@R XXXX/XX/XX') as D)
  Do while t1 < t2
    Insert into 表2 (姓名, 时间1, 时间3) Values (orec.姓名, Dtos(t1), oRec.时间3)
    t1 = Gomonth(t1, 1)
  EndDo
  Insert into 表2 (姓名, 时间1, 时间3) Values (orec.姓名, Dtos(t2), oRec.时间3)
EndScan

Select 表2
Locate
Browser