head内容莫名到了body中,网页头部还有一行空白
问题: head内容莫名到了body中,网页头部还有一行空白. 原因: 使用notpad++等第三方文本编辑器后可能会给文件内容加上DOM标记 去除后解决。 去除方法: 可用第三方工具去除。如NOTPADD++就有 保存无DOM格式
SQL语句编译原理
由于最近需要做一些sql query性能提升的研究,因此研究了一下sql语句的解决过程。在园子里看了下,大家写了很多相关的文章,大家的侧重点各有不同。本文是我在看了各种资 料后手机总结的,会详细的,一步一步的讲述一个sql语句的各个关键字的解析过程,欢迎大家互相学习。 SQL语句的解析顺序 简单的说一个sql语句是按照如下的顺序解析的: 1. FROM FROM后面的表标识了这条语句要查询的数据源。和一些子句如,(1-J1)笛卡尔积,(1-J2)ON过滤,(1-J3)添加外部列,所要应用的对象。FROM...
网摘:SQL Server查询性能优化
不要认为只要有负向查询出现在查询条件WHERE子句中 就一定认为索引就没有效用,在WHERE子句中使用非SARG并不一定导致全表扫描或是聚集索引扫描。SQL SERVER可以在某些非SARG状况中使 用索引,以及查询中虽然包含了部分非SARG但仍可以对此查询中的SARG部分使用索引。 也不要认为在查询语句中的查询条件WHERE子句中使用 SARG就一定会使用到相应的索引,而不会进行全表扫描或聚集索引扫描。SQL SERVER查询优化程序会根据SARG使用情况所获取的查询结果的记录 数量是否过多,而决定是使用相应的索引,还是使用全表扫描...
WinForm中如何获取“嵌入的资源”和“资源文件”数据
生成操作:嵌入的资源;复制到输出目录:不复制; //获取“嵌入的资源”数据 Image.FromStream(Assembly.GetExecutingAssembly() .GetManifestResourceStream(@"TestCustomForm.Res.button.btndown.bmp")); 其中:TestCustomForm为项目名称,Res为项目下的文件夹,button为Res的子文件夹, btndown.bmp是文件名称。 //获取项目中“资源文件”的数据 Assembly asm = Assembly.GetExecutingAssembly(); ResourceManager rm = new ResourceManager("TestCustomForm.Properties.Resources", asm); String s...
SQL参数化查询为什么能够防止SQL注入
很多人都知道SQL注入,也知道SQL参数化查询可以防止SQL注入,可为什么能防止注入却并不是很多人都知道的。 本文主要讲述的是这个问题,也许你在部分文章中看到过这块内容,当然了看看也无妨。 首先:我们要了解SQL收到一个指令后所做的事情: 具体细节可以查看文章:Sql Server 编译、重编译与执行计划重用原理 在这里,我简单的表示为: 收到指令 -> 编译SQL生成执行计划 ->选择执行计划 ->执行执行计划。 具体可能有点不一样,但大致的步骤如上所示。 接着我们来分析为什么拼接SQL 字符...
Sql Server参数化查询之where、in、like实现详解
身为一名小小的程序猿,在日常开发中不可以避免的要和where in和like打交道,在大多数情况下我们传的参数不多简单做下单引号、敏感字符转义之后就直接拼进了SQL,执行查询,搞定。若有一天你不可避免的需要 提高SQL的查询性能,需要一次性where in 几百、上千、甚至上万条数据时,参数化查询将是必然进行的选择。然而如何实现where in和like的参数化查询,是个让不少人头疼的问题。 where in 的参数化查询实现 首先说一下我们常用的办法,直接拼SQL实现,一般情况下都能满足需要 string userIds = "1,2,3,4"; u...
Sql Server编译原理
当 Sql Server 收到任何一个指令,包括:查询、批处理、存储过程、触发器、预编译指令和动态SQL Server语句,要完成语法解析、语义分析,然后再进行"编译",生成能够运行的"执行计划"。在编译的过程中,SQL Server 会根据所涉及的对象的架构、统计信息,以及指令的具体内容,估算可能的执行计划,以及它们的成本,最后选择一个SQL Server认为成本最低的语句。 执行计划生成之后,SQL Server 通常会把它们缓存到内存里,术语统称它们叫“Plane Cache”。以后同样的语句执行,SQL Server就可以使用同样的执行计划,而...
SQL Server死锁总结及期解决方法
SQL Server死锁总结 1. 死锁原理 根据操作系统中的定义:死锁是指在一组进程中的各个进程均占有不会释放的资源,但因互相申请被其他进程所站用不会释放的资源而处于的一种永久等待状态。 死锁的四个必要条件: 互斥条件(Mutual exclusion):资源不能被共享,只能由一个进程使用。 请求与保持条件(Hold and wait):已经得到资源的进程可以再次申请新的资源。 非剥夺条件(No pre-emption):已经分配的资源不能从相应的进程中被强制地剥夺。 循环等待条件(Circular wait):系统中若干进程组成环路,该环路中每个进...
9个offer,12家公司,35场面试,从微软到谷歌,应届计算机毕业生的2012求职之路
9个offer,12家公司,35场面试,从微软到谷歌,应届计算机毕业生的2012求职之路 1,简介 毕业答辩搞定,总算可以闲一段时间,把这段求职经历写出来,也作为之前三个半月的求职的回顾。 首先说说我拿到的offer情况: 微软,3面->终面,搞定 百度,3面->终面,口头offer 搜狗,2面,悲剧 腾讯,1面,悲剧 布丁移动,3面,搞定 涂鸦游戏,3面,搞定 友盟,3面->CEO面,搞定 雅虎,4面->终面,搞定 微策略,2面,悲剧 人民搜索,3面->终面,搞定 人人,2面+终面+Special面,搞定 Google,7面,搞定 求...
SQL查询性能分析之(not in)、(and not)、()、(!=)性能比较
在与朋友讨论查询时引出了not in 与and not两种踢出方法,相互的口舌之争之后我决定动手来查查看,他们到底有什么区别,谁的执行效率更高,今后该如何选择性能最优的查询条件。由于本人能力有 限,肚子中的墨水有限,所以本文有什么错误之处还望各位前辈指出。 在使用sql中我们会有各种各样的条件筛选,常见的就是要踢出一部分我们不需要的数据,在where后面的踢出方法常见的有 (not in / and not / <> / !=) 这四种方法,既然存在这样四种方法,那么我们又该如果选择最佳方法呢?下面我们就一起...