SQLserver里可以有一个自己的变量表吗?

james-lx 重庆大学 2011-02-20 09:55:42
SQl2005数据库中有一张表,数据量不大(1-100多行),但程序对它读取,改写非常频繁,大概几秒钟就来一次。

并且数据库里的其它表上装了触发器,改写的数据也指向这张表。。。


我想如果数据库里可以自己定义一个表,这个表的作用域和生命周期需要是数据库启动后就一直存在。

我就可以用这个内存表去代替实际表,这样我的硬盘就没那么容易坏了。


请高手指教一下,谢谢。


...全文
99 点赞 收藏 14
写回复
14 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
james-lx 2011-02-23
我准备用触发器执行dos程序,把改变数据放到程序中去。。。
回复
iacpdj 2011-02-22
CTE
回复
ohfox 2011-02-22
命中率高的话,sqlserver应该会自动把这个表放到内存里面的吧...
oracle有个pin表到缓存池的设置,不知道sqlserver类似的设置是什么
回复
rucypli 2011-02-20
内存表断电就丢数据哦


ps你在程序端做好了 不要交互到数据库文件
回复
james-lx 2011-02-20
[Quote=引用 8 楼 qianjin036a 的回复:]
有思想就好.
比如还可以:
用一个闪盘做数据库的一个分区.
用虚拟内存盘做数据库的一个分区.
把数据库放在固态存储器上...
都是以速度快为目的的.
[/Quote]

SQlserver就没个好功能吗??我是菜鸟,我自己做个游戏服务器,又怕做不出来,所以用的二层结构。
回复
james-lx 2011-02-20
[Quote=引用 6 楼 qianjin036a 的回复:]
如果数据库只有你一个用户,而且不会因断电而丢失数据,可以建一个表变量.
[/Quote]

表变量作用于go之间,完全不能用。。。
回复
-晴天 2011-02-20
有思想就好.
比如还可以:
用一个闪盘做数据库的一个分区.
用虚拟内存盘做数据库的一个分区.
把数据库放在固态存储器上...
都是以速度快为目的的.
回复
james-lx 2011-02-20
[Quote=引用 3 楼 wxf163 的回复:]
那你完全不需要表,直接放到你内存里就行了
[/Quote]

直接放内存不行,

1.我程序是java的,好像只有.net支持通知。。。

2.因为其它表触发会去改它,所以也不行。



实在不行我准备把全部库都放ramdisk算了,哎。。。或者自己做个3层出来。。。又要去学C#,累呀.
回复
-晴天 2011-02-20
如果数据库只有你一个用户,而且不会因断电而丢失数据,可以建一个表变量.
回复
james-lx 2011-02-20
[Quote=引用 2 楼 maco_wang 的回复:]
变量表?

你自己建个真实表就可以了.

临时表和表变量貌似都满足不了你的需求。
[/Quote]


真实表我怕它读盘太频繁。。
回复
james-lx 2011-02-20
[Quote=引用 1 楼 dawugui 的回复:]
数据量不大(1-100多行),但程序对它读取,改写非常频繁,大概几秒钟就来一次。

------------------------------
这种读写速度没有关系,且由于数据量教小,查询速度也不会慢,你可以自己做个表,对这个表进行频繁的操作即可.
[/Quote]

那不是老要读硬盘吗? 如果在内存里搞多好。。。。

几秒就一次,一天要多少次呀???
回复
王向飞 2011-02-20
那你完全不需要表,直接放到你内存里就行了
回复
叶子 2011-02-20
变量表?

你自己建个真实表就可以了.

临时表和表变量貌似都满足不了你的需求。
回复
dawugui 2011-02-20
数据量不大(1-100多行),但程序对它读取,改写非常频繁,大概几秒钟就来一次。

------------------------------
这种读写速度没有关系,且由于数据量教小,查询速度也不会慢,你可以自己做个表,对这个表进行频繁的操作即可.
回复
相关推荐
发帖
疑难问题
创建于2007-09-28

2.1w+

社区成员

MS-SQL Server 疑难问题
申请成为版主
帖子事件
创建了帖子
2011-02-20 09:55
社区公告
暂无公告