小知识储备

with nolock

WITH (NOLOCK)相当于未提交读(READ UNCOMMITTED),意思是指定语句可以读取已由其他事务修改单尚未提交的行,在未提交读级别运行的事务,不会发出共享锁来防止其他事务修改当前事务读取的数据,也不会被排它锁阻塞,所以WITH (NOLOCK)可以改善在线大量查询的环境中数据集被LOCK的现象藉此改善查询的效能;

SELECT COUNT(UserID)
FROM EMPLOYEE WITH (NOLOCK)
JOIN WORKING_GROUP WITH (NOLOCK)
ON EMPLOYEE.UserID = WORKING_GROUP.UserID

String与StringBuilder

String 对象是不可改变的。每次使用 System.String   类中的方法之一时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间。在需要对字符串执行重复修改的情况下,与创建新的   String   对象相关的系统开销可能会非常昂贵。

如果要修改字符串而不创建新的对象,则可以使用   System.Text.StringBuilder   类。例如,当在一个循环中将许多字符串连接在一起时,使用   StringBuilder   类可以提升性能,当修改 StringBuilder 时,在达到容量之前,它不会为其自己重新分配空间。当达到容量时,将自动分配新的空间且容量翻倍。

StringBuilder的Length属性是非只读的,

如果将Length属性设置为大于Capacity属性的值,则自动将Capacity属性更改为与Length   属性相同的值。如果将Length 属性设置为小于当前StringBuilder   对象内的字符串长度的值,则会缩短该字符串。

T-SQL 批处理

批处理是作为一个逻辑单元的T-SQL语句。如果一条语句不能通过语法分析,那么不会运行任何语句。如果一条语句在运行时失败,那么产生错误的语句之前的语句都已经运行了。

  1. GO语句必须自成一行,只有注释可以再同一行上。
  2. 每个批处理单独发送到服务器。
  3. GO语句不是T-SQL命令,而是由各种SQL Server命令实用程序(如:Management Studio中的"查询"窗口)识别的命令。

批处理常被用在某些事情不得不放在前面发生,或者不得不和其它事情分开的脚本中(一般ddl语句在同一个批处理里只能提交一个)

USE Test
  ALTER TABLE TestTable
      ADD col3 int
  INSERT INTO TestTable
      (col1,col2,col3)
  VALUES
      (1,1,1)

以上代码在查询分析器中提示col3列不存在,通过一个go解决问题

USE Test
  ALTER TABLE TestTable
      ADD col3 int
  GO 
  INSERT INTO TestTable
      (col1,col2,col3)
  VALUES
      (1,1,1)

JavaScript 注入攻击

参考链接

时间: 2024-10-03 23:07:54

小知识储备的相关文章

自定义控件知识储备-LayoutParams的那些事

在上一篇文章里,我总结了一下自定义控件需要了解的基础知识:View的绘制流程--<自定义控件知识储备-View的绘制流程>.其中,在View的测量流程里,View的测量宽高是由父控件的MeasureSpec和View自身的LayoutParams共同决定的.MeasureSpec是什么,上一篇文章里已经说得很清楚了(啥,没看过?快去路克路克,(??????)??).而LayoutParams呢?是时候在这里做个了断了. LayoutParams是什么? LayoutParams,顾名思义,就是

接口测试学习入门(1)--前期知识储备

接口测试前必需知识了解:1.接口测试的原理: 无论用那种测试方法,接口测试的原理是通过测试程序模拟客户端向服务器发送请求报文,服务器接收请求报文后对相应的报文做出处理然后再把应答报文发送给客户端,客户端接收应答报文这一个过程. 2.前期知识储备2.1 http知识了解(详见 http://www.blogjava.net/zjusuyong/articles/304788.html 写的很棒!) http端口号 80,不输入默认就是, https端口号 443,基于SSL https加密原理:

新手程序员必备的知识储备有哪些

很多学习了北风网专业课程的朋友,都能如愿到心仪的相关企业任职,首先,北风网向你们表示祝贺,同时关于新手程序员所需要的知识储备情况,特此总结了一篇文章,以供参考: 1.版本控制系统(VCS) VCS 也许是计算机课程最大的疏漏.这些课程光记得教如何写代码,但却往往忘记教学生如何去管理代码.每一个程序员都应该懂得利用 Git 或 Subversion 有效地创建 repository(仓库),编辑与提交代码,进行分支与合并,了解项目工作流. 2.学会写作 身为程序员要写的不只有代码.你还要写项目的发

爬虫知识储备篇---分析http请求

(1).为何需要进行HTTP请求分析 答:方便我们编写的爬虫精准定位爬取目标 (2).知识储备 1.什么是抓包? 抓包:抓取客户端与服务器之间进行通信时产生的数据包 2.了解抓包工具:chrome下的开发者模式,使用F12即可打开 功能结构分析:(参考文档:http://www.css88.com/doc/chrome-devtools/) Elements(元素面板):用于查看网页源代码HTML中的任一元素,手动修改任一元素的属性和样式且能在浏览器中得到实时反馈 Console(控制台面板):

iOS 小知识-tips

--->1<--- arc的项目中使用非arc代码,则添加-fno-objc-arc: 非arc项目中使用arc代码,则添加-fobjc-arc. --->2<--- 实用的类 NSKeyedArchiver [UIScreen mainScreen] [UIDevice currentDevice] [UIFont familyNames] [UIApplication sharedApplication] [NSUserDefaults standardUserDefaults

Linux 小知识翻译 - 「syslog」

这次聊聊「syslog」. 上次聊了「日志」(lgo).这次说起syslog,一看到log(日志)就明白是怎么回事了.syslog是获取系统日志的工具. 很多UINIX系的OS都采用了这个程序,它承担了「获取系统全部的日志」这个维持系统正常运行的重要任务. syslog的本体是「syslogd」这个daemon(一般翻译成守护进程),常驻内存中获取日志. syslog的特点是可以通过配置文件「/etc/syslog.conf」,对「哪种应用程序?哪种重要度的信息?记录在哪个文件中?」等进行细致的

Linux 小知识翻译 - 「日志」(log)

这次聊聊「日志」. 「日志」主要指系统或者软件留下的「记录」.出自表示「航海日志」的「logbook」. 经常听说「出现问题的时候,或者程序没有安装自己预期的来运行的时候,请看看日志!」. 确实,记录了系统和软件详细运行情况的「日志」是信息的宝库,通过日志来解决问题的事例也非常多. 但事实上,「无论如何也不会看日志」的用户也有很多.理由很简单,日志的信息量非常大,全部用眼睛来看的话是非常吃力的. 而且,英语写的日志也会让英文不好的人敬而远之. 虽说「要养成用眼睛来看日志的习惯」,但实行起来却非常

Linux 小知识翻译 - 「编译器和解释器」

这次聊聊「编译器和解释器」. 编程语言中,有以C为代表的编译型语言和以Perl为代表的解释型语言.不管是哪种,程序都是以人类能够理解的形式记录的,这种形式计算机是无法理解的. 因此,才会有编译器和解释器. 对于编译型语言,是使用编译器将人类可读的代码转换为机器能够理解的「机器语言」文件,然后通过执行这个「机器语言」文件来实现程序的执行. 另一方面,对于解释型语言,是使用解释器将人类可读的代码逐行解释,一边解释一边执行这个程序.(这里的解释是将代码解释成机器语言,让计算机能够理解) 甚至有的语言既

Linux 小知识翻译 - 「补丁」(patch)

这次,聊聊补丁. 当有bug或者安全漏洞的时候,就会发布补丁.打上补丁之后,就能解决相应的bug或者安全漏洞. 那么,「补丁」到底是什么呢? 「补丁」只有少量的代码,一般都是对程序的一部分进行更新或者追加,包括bug修正,安全漏洞修正,功能追加或者变更等等.当然,只有「补丁」是无法运行的. 即,只有将「补丁」附加到原来的程序中,更新原来的程序后,才能运行. 「补丁(patch)」本来是指「打补丁用的小布头」.「patch」正是为了补足现有的程序,堵住程序漏洞的「布头」. 打「补丁」的时候需要用到