你设置了ID(Int自加)的话,那么记录数就受INT的数值范围限制啦。
而且ID是不可重用的,每次INSERT无论成功与否都会导致ID值加一。
不过即使如此,INT的数值范围是:从 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 
应该也够用了吧? :-)按道理来说,大表分小表查询会是快一点的,如果大家的索引设置都一样的话。
要大表查询快的话,索引要好好的建哦,简单来说是在经常查询的字段建索引。
ORACLE的大表(千万行计)查询(非聚簇索引)是非常快的,SQL2K也还行吧。
如果有千万行计的话,建议在可能的情况下,分表。
比如以前做过的一个费用查询项目,就把每个月的数据各放一个表。:-)

解决方案 »

  1.   

    多谢上铺的兄弟。我想2,147,483,647应该够了,不过我还是听你的把表单分开,便于管理一些。SQL能自己实现求平均值、求和等运算功能吗?我现在是用Basic给他求的。比较麻烦。
      

  2.   

    ---------------------------------------
    能自己实现求平均值、求和等运算功能吗?
    ---------------------------------------SQL中有 Avg函数是求平均值的,SUM函数是求和的,COUNT函数是求记录数的;
    还可以配合GROUP BY 和HAVING字句还构造一些复杂的统计。比如:
    select AVG(price) from products  --求货品的平均价格
    select SUM(amount) from incoming --求收入的综合其中 price, amount 必须是数值类型的。 :-)