sp_recompile [ @objname = ] 'object'
参数
[@objname =] 'object' 是当前数据库中的存储过程、触发器、表或视图的限定的或非限定的名称。object 是 nvarchar(776) 类型,无默认值。如果 object 是存储过程或触发器的名称,那么该存储过程或触发器将在下次运行时重新编译。如果 object 是表或视图的名称,那么所有引用该表或视图的存储过程都将在下次运行时重新编译。
⑵ SQL缓存如何缓存
SQL可以悄含通过缓存来提高查询性能。当一个查询被执行时,SQL服务器会将查询结果存储在缓存中。旁运敬如果同样的查询再次被执行,SQL服务器会从缓存中获取结果,而不是重新执行查询。这可以大大减少查询的响应时间,提高系统的性能。SQL缓存可以通运慎过调整缓存大小、清除缓存和使用合适的索引来优化。
⑶ sql缓存到ssd
SQL Server中,内存无疑是梁伏好非常重要的一环,因为它决定了你能使用多少缓存。当你从存储中读橡铅取数据,数据会在缓冲池中缓存。直接读缓存是最快的,如果经常访问的数据得不到厅祥缓存,那就只能读存储,速度自然就慢下来了。但内存相对而言是比较昂贵的,不过从SQL Server2014起,我们可以用 SSD 扩展缓冲池。SQL Server 2014 中引入的缓冲池扩展提供数据库引擎缓冲池的非易失性随机存取内存(即固态硬盘)扩展的无缝集成,从而显着提高 I/O 吞吐量。
⑷ 关于sql2008,怎么监控某数据库表变化情况
在每个表中添加触发器~~
一旦数据有变化, 触发器就被触发~ 触发器中写代码将这个变化写入到你指定的日志表中即可。
注意:是多个表的触发器, 去操作同一个日志表。
⑸ navicate执行sql后会有缓存
有缓存的。
在使用数据库的时候,我们可能需要导入创建表的SQL文件执行,执行之后是有缓存的。打开电脑上的Navicat,点击左侧的连接,在下拉选项中选择你是用的数据库,然后相应的信息,例如用户名,用户密码,连接名,创建就完成了。
⑹ SQL SERVER中如何进行缓存设置
可以不要设置,如果不设置的话,SQL SERVER会动态调整使用的内存。
⑺ redis怎么缓存sql数据
利用redis做缓存服务器来缓解数据库查询压力是非常有效也是非常有必要的, 当用户第一次点击页面的时候查询数据库, 然后将查询结果缓存在redis服务器中,缓存时间随你的数据改变时间而定,这样可大大降低数据库压力;下面是具体函数方法;
public function getSqlVal(){
//获取参数列表,这个参数随你需求而定,一般可能需要传入dbname,查询方式如fetchAll,查询语句等
$argv = func_get_args();
//假设这里现在只传入dbName和sql语句
$dbName = $argv[0];
$sql = $argv[1];
//现在把这个参数列表转成md5之后作为存redis的key值
$md5SqlKey = MD5(serialize($argv));
//下面通过一个redis函数来进行存取数据
$res = getRedisData($md5SqlKey);
//如果取到数据,说明已经缓存在redis服务器中, 直接取数据就好, 如果没有数据, 则再去数据库查询数据,再讲查询的数据存在redis服务器中
if(!empty($res)) {
return $res;
}
//后面是查询数据库操作,查询结果返回在$res中
getRedisData($md5SqlKey,$res); //讲返回结果存在redis中
return $res;
}
public function getSqlVal(){
//获取参数列表,这个参数随你需求而定,一般可能需要传入dbname,查询方式如fetchAll,查询语句等
$argv = func_get_args();
//假设这里现在只传入dbName和sql语句
$dbName = $argv[0];
$sql = $argv[1];
//现在把这个参数列表转成md5之后作为存redis的key值
$md5SqlKey = MD5(serialize($argv));
//下面通过一个redis函数来进行存取数据
$res = getRedisData($md5SqlKey);
//如果取到数据,说明已经缓存在redis服务器中, 直接取数据就好, 如果没有数据, 则再去数据库查询数据,再讲查询的数据存在redis服务器中
if(!empty($res)) {
return $res;
}
//后面是查询数据库操作,查询结果返回在$res中
getRedisData($md5SqlKey,$res); //讲返回结果存在redis中
return $res;
}
⑻ SQL缓存问题,第一次查慢,第二次查快
查询时,数据库引擎会判断,如果数据在内存中,则会从内存读取数据,如果数据不在内存在,则先从硬盘读到内存,然后再供查询。
所以第一次查的时候,根据你的语句,数据库引擎会把一些数据从硬盘读到内存,第二次再查的时候,就从内存读数据,就快了很多了。
oracle有一个功能是让表常驻内存。
⑼ sql2008怎么监控存储过程
在SQL中监控存储过程,我们可以使用SQL Server Profiler。
关于SQL Server Profiler 的相关用法,参考下面的文档:
http://msdn.microsoft.com/zh-cn/library/ms181091.aspx
http://www.mssqltips.com/sqlservertip/3259/several-methods-to-collect-sql-server-stored-procere-execution-history/
⑽ 如何自动清理SQL数据库在内存中的缓存
加大内存吧!360没有这个自动清理内存的功能吧!