木子屋 Dnawo's BLOG

2012-12 归档

共 32 篇

SQL Server2005和SQL Server2008查找引起阻塞的进程

SQL Server2000企业管理器中有个当前活动,可以查看当前正在活动的进程以及哪些进程引起阻塞。在SQL Server2005和SQL Server2008改名了,称为活动监视器,打开位置也稍有不同。 SQL Server2005活动监视器 打开SQL Server2005的SQL Server Management Studio,选择"管理→活动监视器"即可打开,界面和SQL Server2000差不多。 SQL Server2008活动和监视器 打开SQL Server2008的SQL Server Management Studio,右键单击数据库服务器,在菜单中选择"活动和监视器"即可打开,相比SQL Server2005,增加了资源等待、数据文件I/O和最近耗费大量资源的查询等功能。

比较LINQ to Entities的AsQueryable和AsEnumerable方法

例一: C#程序: 服务器端sql: 例二: C#程序: 服务器端sql: 小结 AsQueryable是在数据库中查询再返回数据,AsEnumerable是从数据库读取全部数据再在程序中查询,其效果和ToList相同。

LINQ to Entities多条件动态查询实现

在WEB应用程序中经常会碰到多条件查询,比如查找某个用户,可能根据用户名查询,也可能根据注册时间查询,以前是通过拼接sql完成,那在LINQ to Entities要怎么实现?直接上代码: 在SQL Server Profiler跟踪结果: 这得益于Linq延迟执行功能,使得程序可以将多条件合并查询。将上边代码稍做修改,思考下将怎么执行?哪一种方式更好?

T-SQL查询高级—SQL Server索引中的碎片和填充因子

写在前面:本篇文章需要你对索引和SQL中数据的存储方式有一定了解.标题中高级两个字仅仅是因为本篇文章需要我的T-SQL进阶系列文章的一些内容作为基础. 简介 在SQL Server中,存储数据的最小单位是页,每一页所能容纳的数据为8060字节.而页的组织方式是通过B树结构(表上没有聚集索引则为堆结构,不在本文讨论之列)如下图: 在聚集索引B树中,只有叶子节点实际存储数据,而其他根节点和中间节点仅仅用于存放查找叶子节点的数据. 每一个叶子节点为一页,每页是不可分割的. 而SQL Server向每个页内存储数据的最小单位是表的行(Row).当叶子节点中新插入的行或更新的行使得叶子节点无法容纳当前更新或者插入的行时,分页就产生了.在分页的过程中,就会产生碎片.…

Entity Framework Power Tools Beta 2生成Models提示参数错误解决方法

在Visual Studio 2012使用Entity Framework Power Tools Beta 2生成Models总是出错,提示:参数错误。(异常来自 HRESULT:0x80070057(E_INVALIDARG))。 异常来自 HRESULT:0x80070057(E_INVALIDARG)解决方法 用记事本打开C:\Program Files\Microsoft Visual Studio 11.0\Common7\IDE\Extensions\Microsoft\Entity Framework Tools\Templates\Includes\EF.Utility.CS.ttinclude,删除第一行内容保存即可:…

淘宝客网站架构设计方案

案例一:无缓存实时架构 这是一个最简单的模型。用户在访问网站的时候,程序接受用户访问请求后直接通过API获取数据,再显示在网页上。 优点: 数据的实时获取 缺点: 1.网站页面加载的速度慢 2.网站访问量大的时候造成API次数超过限制,导致网站挂掉 3.淘宝API服务器发生故障或维护,导致网站挂掉 案例二: 文件缓存 这个案例中以文件的形式作为缓存,通过API取到数据序列化后并将序列化之后的数据存入文件中,一般以json的方式存储,也有的php程序中采用数组来存储。 优点: 淘宝API服务器发生故障或维护时,保证了网站的正常使用 缺点: 1.页面显示速度慢,主要是在用户访问页面的时候触发API请求的…

SQL Server外键需不需要建立索引?

会有这个疑问,我认为主要有两点原因: ·主键"不需要"建立索引,所以外键需不需要建立索引? ·外键本身是另一个表的主键,主键一般有聚集索引,这个索引会不会应用到查询上? 针对第一点,实际情况是主键是有建立索引的,通常就是表的聚集索引,由于在创建主键时自动创建了索引,所以让人错觉主键没有建立索引,因此,不管是主键还是外键,只要有需要,都得创建索引;针对第二点,我们可以做个测试。 在SQL Server 2008创建表并添加测试数据: 在SQL Server Management Studio中可以看到主键和外键,同时还有一个聚集索引: 我们再使用外键列查询并查看执行计划: 从图中可以看到,查询是使用本表的聚集索引扫描,也没有用另一个表的索引(用了就怪了:))。