日期:2014-05-17  浏览次数:20527 次

如何限制表的行数?
要做个日志表,记录登陆者的ip和时间,为了节省空间,打算控制记录数量,只存放最后那些登陆者。虽然用程序可以写出来,但觉得效率差了点,sql server本身有这类似的功能吗?

------解决方案--------------------
MSSQL没有类似的功能,须自行清理..
------解决方案--------------------
没有听过。。
------解决方案--------------------
表上建约束不知道行不行,不过有一个方法,可以在表上建触发器,插入时如果表中的记录数已经达到某一值,就抛出异常,这样就可以限制了
------解决方案--------------------
用触发器的话,应该就可以,效率当然不是十分好,但是可以满足你这个自动化的要求
------解决方案--------------------
探讨
但无法“先入先出”地自动删除过时数据吧?

------解决方案--------------------
探讨
用触发器的话,应该就可以,效率当然不是十分好,但是可以满足你这个自动化的要求

------解决方案--------------------
唐诗有正解!

触发器当然可以实现,但是为了实现这样的功能加大系统开销是不划算的
------解决方案--------------------
你一天的访问量有多少,10万?100万?还有你是否需要实时查询最后一次登录?还是每天更新一次?
------解决方案--------------------
每个登陆者,只保留最后n次的记录好了,他更早的就自动删掉
------解决方案--------------------
使用分区表吧,按时间分区
------解决方案--------------------
用啥触发器啊,表用能标识出每一个用户的列做主键,对于每一个用户

表里没他的数据,插入
表里有他的数据,更新

这不就得了么?