代码改变世界

记录容易忘记的方法

2008-04-30 11:20  金色海洋(jyk)  阅读(1205)  评论(0编辑  收藏  举报

提取每个分类前n条记录

 

SELECT ID, Name, CategoryID
FROM TableName AS a
WHERE (ID IN
          (SELECT TOP (n) ID
         FROM TableName AS b
         WHERE (a.CategoryID = CategoryID)))

  

 

0、更改数据库的路径

 

USE master
Go
ALTER DATABASE tempdb MODIFY FILE (NAME = tempdev, FILENAME = 'T:\tempdb.mdf')
Go
ALTER DATABASE tempdb MODIFY FILE (NAME = templog, FILENAME = 'T:\templog.ldf')
Go

 


1、清除数据库的日志

backup log HBS_Dongcheng with no_log
go
dbcc shrinkdatabase (HBS_Dongcheng)
go


2、清除表里面的数据,不计入日志,自增字段复位

truncate table TableName


3、允许将显式值插入表的标识列中。

SET IDENTITY_INSERT [ database.[ owner.] ] { table } { ON | OFF }

SET IDENTITY_INSERT products ON


4、SET NOCOUNT { ON | OFF }

当 SET NOCOUNT 为 ON 时,不返回计数(表示受 Transact-SQL 语句影响的行数)。当 SET NOCOUNT 为 OFF 时,返回计数。

疑问:还计数不?只是不返回数值吗?

5、清空SQL Server 的缓存,一般用于测试。

从缓存中清空所有数据
DBCC DROPCLEANBUFFERS

从过程高速缓存中删除所有元素。清空执行计划
DBCC FREEPROCCACHE

6、sys.syscacheobjects系统视图
可以查看 sql语句的执行分析情况。

性能计数器SQL Server:Buffer Manager\Buffer Cache hit ratio来观察缓存命中率

cpu方面需要关注三个性能计数器:SQLServer:SQL Statistics\Batch Requests/SecSQLServer:SQL Statistics\SQLCompilations/secSQLServer:SQL Statistics\SQL Re-Compilations/sec。如果compilations数目超过batch请求数目的百分之10,或者recompilations数目超过compilations数目的百分之10,那基本可以说明cpu消耗了太多在编译查询计划上面。


R:232
G:234
U:223

我感觉背景色设置成这样挺舒服的。

在IE里不直接打开文件的方法。

1.在工具|文件夹选项|文件类型,找到文件类型(比如说XSL是EXCEL的文件扩展名),点高级按钮,确认"下载后确认打开"是打勾的
2.检查注册表HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\AttachmentExecute下是否有对应键值存在
 

7、拦截按键地方法。
 document.onkeydown=mykeydown;   
23    function   mykeydown()
24    {   
25        if(event.keyCode==116//屏蔽F5刷新键   
26        {   
27            window.event.keyCode=0;   
28            return   false;   
29        }
   
30    }
   

 最小化、最大化、关闭窗口  
  <object   id=hh1   classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">    
  <param   name="Command"   value="Minimize"></object>  
  <object   id=hh2   classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">    
  <param   name="Command"   value="Maximize"></object>  
  <OBJECT   id=hh3   classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11">  
  <PARAM   NAME="Command"   VALUE="Close"></OBJECT>  
  <input   type=button   value=最小化   onclick=hh1.Click()>  
  <input   type=button   value=最大化   onclick=hh2.Click()>  
  <input   type=button   value=关闭   onclick=hh3.Click()>  

 

13.   取得控件的绝对位置  
  //Javascript  
  <script   language="Javascript">  
  function   getIE(e){  
  var   t=e.offsetTop;  
  var   l=e.offsetLeft;  
  while(e=e.offsetParent)  
  alert("top="+t+"/nleft="+l);  
  }  
  </script>

 

22.不要滚动条?    
  让竖条没有:    
  <body   style="overflow:scroll;overflow-y:hidden">    
  </body>    
  让横条没有:    
  <body   style="overflow:scroll;overflow-x:hidden">    
  </body>    
  两个都去掉?更简单了    
  <body   scroll="no">    
  </body>    

 

27.在页面中如何加入不是满铺的背景图片,拉动页面时背景图不动    
  <STYLE>    
  body    
  {background-image:url(/blog/logo.gif);   background-repeat:no-repeat;    
  background-position:center;background-attachment:   fixed}    
  </STYLE>    

 

34.脚本永不出错  
  <SCRIPT   LANGUAGE="JavaScript">    
  <!--   Hide    
  function   killErrors()   {    
  return   true;    
  }    
  window.onerror   =   killErrors;    
  //   -->    
  </SCRIPT>

 

 最大化窗口?  
  <script   language="JavaScript">  
  <!--  
  self.moveTo(0,0)  
  self.resizeTo(screen.availWidth,screen.availHeight)  
  //-->  
  </script>  

 

 

SET STATISTICS IO ON
查看执行的一些参数。

 

 删除字段:http://topic.csdn.net/t/20050607/17/4066163.html

 

if   exists   (select   *   from   dbo.sysobjects   where   id   =   object_id(N'[dbo].[p_deletefield]')   and   OBJECTPROPERTY(id,   N'IsProcedure')   =   1)   
  
drop   procedure   [dbo].[p_deletefield]   
  
GO   
    
  
/*--删除某字段的所有关系及该字段   
    
  删除某字段时,常常因为在该字段上定义了约束/外键/默认值   
  导致字段删除失败,此存储过就是删除表中指定字段的这些关系   
    
  修正2004.05发布的删除处理中的错误,同时改原来的处理语句为通用存储过程   
    
  --邹建   2004.07(引用请保留此信息)--
*/
   
    
  
/*--调用示例   
    
  exec   p_deletefield   '表名','字段名'   
  --
*/
   
  
create   proc   p_deletefield   
  
@tbname   sysname, --要处理的表名   
  @fdname   sysname, --要处理的字段名   
  @delfield   bit=1 --0只删除关系,1同时删除字段   
  as   
  
declare   hCForEach   cursor   global   for   
  
--默认值约束   
  select   sql='alter   table   ['+b.name+']   drop   constraint   ['+d.name+']'   
  
from   syscolumns   a   
  
join   sysobjects   b   on   a.id=b.id   and   a.name=@fdname   and   b.name=@tbname     
  
join   syscomments   c   on   a.cdefault=c.id   
  
join   sysobjects   d   on   c.id=d.id   
  
union --外键引用   
  select   s='alter   table   ['+c.name+']   drop   constraint   ['+b.name+']'   
  
from   sysforeignkeys   a   
  
join   sysobjects   b   on   b.id=a.constid   
  
join   sysobjects   c   on   c.id=a.fkeyid   
  
join   syscolumns   d   on   d.id=c.id   and   a.fkey=d.colid   and   d.name=@fdname   
  
join   sysobjects   e   on   e.id=a.rkeyid   and   e.name=@tbname   
  
join   syscolumns   f   on   f.id=e.id   and   a.rkey=f.colid     
  
union --主键/唯一键/索引   
  select   case   when   e.xtype   in('PK','UQ')   then   'alter   table   ['+c.name+']   drop   constraint   ['+e.name+']'   
  
else   'drop   index   ['+c.name+'].['+a.name+']'   end   
  
from   sysindexes   a   
  
join   sysindexkeys   b   on   a.id=b.id   and   a.indid=b.indid   
  
join   sysobjects   c   on   b.id=c.id   and   c.xtype='U'   and   c.name=@tbname   
  
join   syscolumns   d   on   b.id=d.id   and   b.colid=d.colid   and   d.name=@fdname   
  
left   join   sysobjects   e   on   e.id=object_id(a.name)   
  
where   a.indid   not   in(0,255)   
    
  
exec   sp_msforeach_worker   '?'   
    
  
if   @delfield=1   
  
exec('alter   table   ['+@tbname+']   drop   column   ['+@fdname+']')   
  
go   
  

 

2