posts - 136,  comments - 257,  trackbacks - 7
  2007年1月19日
1、OR语句可能会破坏索引的作用引发表扫描,可以可以分解成Union语句。例如:
         select a.cola,b.colb from taba a inner join tabb b on a.xxx=b.sss or a.ttt=b.yyy
      可以转化为
         select a.cola,b.colb from taba a inner join tabb b on a.ttt=b.yyy
               union all
         select a.cola,b.colb from taba a inner join tabb b on a.ttt=b.yyy
      不过具体情形还是要看执行计划。
2、TRUNCATE TABLE

Removes all rows from a table without logging the individual row deletions. TRUNCATE TABLE is functionally the same as the DELETE statement with no WHERE clause; however, TRUNCATE TABLE is faster and uses fewer system and transaction log resources.

TRUNCATE TABLE 
    [ { database_name.[ schema_name ]. | schema_name . } ]
    table_name
[ ; ]
3、SQL中cross join,left join,right join ,full join,inner join 的区别

cross join 是笛卡儿乘积就是一张表的行数乘以另一张表的行数
left join
第一张表的连接列在第二张表中没有匹配是,第二张表中的值返回null
right join
第二张表的连接列在第一张表中没有匹配是,第一张表中的值返回null
full join
返回两张表中的行 left join+right join
inner join
只返回两张表连接列的匹配项


4、SQL中使用cast转化datetime为varchar时会丢失秒,最好使用convert, CONVERT(data_type,expression[,style]),最后那个style变量就是在转换datetime时使用的。


style数字在转换时间时的含义如下

-------------------------------------------------------------------------------------------------
Style(2位表示年份) | Style(4位表示年份) | 输入输出格式 
-------------------------------------------------------------------------------------------------
- | 0 or 100 | mon dd yyyy hh:miAM(或PM) 
-------------------------------------------------------------------------------------------------
1 | 101 | mm/dd/yy 
-------------------------------------------------------------------------------------------------
2 | 102 | yy-mm-dd 
-------------------------------------------------------------------------------------------------
3 | 103 | dd/mm/yy 
-------------------------------------------------------------------------------------------------
4 | 104 | dd-mm-yy 
-------------------------------------------------------------------------------------------------
5 | 105 | dd-mm-yy 
-------------------------------------------------------------------------------------------------
6 | 106 | dd mon yy 
-------------------------------------------------------------------------------------------------
7 | 107 | mon dd,yy 
-------------------------------------------------------------------------------------------------
8 | 108 | hh:mm:ss 
-------------------------------------------------------------------------------------------------
- | 9 or 109 | mon dd yyyy hh:mi:ss:mmmmAM(或PM)
-------------------------------------------------------------------------------------------------
10 | 110 | mm-dd-yy 
-------------------------------------------------------------------------------------------------
11 | 111 | yy/mm/dd 
-------------------------------------------------------------------------------------------------
12 | 112 | yymmdd 
-------------------------------------------------------------------------------------------------
- | 13 or 113 | dd mon yyyy hh:mi:ss:mmm(24小时制) 
-------------------------------------------------------------------------------------------------
14 | 114 | hh:mi:ss:mmm(24小时制) 
-------------------------------------------------------------------------------------------------
- | 20 or 120 | yyyy-mm-dd hh:mi:ss(24小时制) 
-------------------------------------------------------------------------------------------------

- | 21 or 121 | yyyy-mm-dd hh:mi:ss:mmm(24小时制)

 

列出所有存储过程

SELECT * FROM SysObjects WHERE [xtype] = 'P'

查询存储过程的内容
EXEC Sp_HelpText '存储过程名'

查询空字符串
SELECT SPACE(空字符个数)

 查看某个对象的全部依赖情况

SELECT distinct so.name
FROM syscomments sc
INNER JOIN sysobjects so ON sc.id = so.id
WHERE charindex('Object_Name', text) > 0

 

Select 赋值

select @counts=rowsCount from #tempRowCount

SQL引擎会遍历查询返回的数据,每条记录赋一次值,@counts的结果是查询返回的最后一条记录的值。

Delete Top

Delete top (1000) from table

可能的话,将表中所有的列都显示的声明为 NOT NULL,并且为丢失的或未知的项定义默认值。

posted @ 2007-01-19 15:30 风生水起 阅读(199) | 评论 (2)编辑
     摘要: 东拼西凑的一些东西,只是想方便自己看  阅读全文
posted @ 2007-01-19 15:21 风生水起 阅读(117) | 评论 (0)编辑
标记方法
      1.可通过类属性、方法属性标记出是否需要拦截进行权限判断;
      2.通过一个CS窗口反射出所有类、方法,标记是否需要拦截进行权限判断,并将结果生成XML文件。
处理
      通过统一的类进行拦截处理权限(可考虑成熟项目,例如Castle的AOP等)。
当前问题及解决
      1.提取整理类、方法比较困难;需要更加简化表现层,对公司当前编码进行规整;
      2.对于按钮根据权限是否可见的需求不好处理;对应公司BS项目特点进行处理;例如可以通过页面基类拦截pageload等,最好也通过CS窗体获取所有服务器控件,统一设置每个控件的可见权限;
      3.性能;缓存或适当采用静态织入等方式提高性能;
posted @ 2007-01-19 11:11 风生水起 阅读(65) | 评论 (0)编辑
<2007年1月>
31123456
78910111213
14151617181920
21222324252627
28293031123
45678910

即使你拥有人人羡慕的容貌,博览群书的才学,挥之不尽的财富,也不能证明你的强大,因为心的强大,才是真的强大。

与我联系

搜索

 

常用链接

留言簿

我参与的团队

随笔分类

随笔档案

文章分类

收藏夹

Friends

Studying

积分与排名

  • 积分 - 86949
  • 排名 - 684

最新评论

阅读排行榜

评论排行榜