易截截图软件、单文件、免安装、纯绿色、仅160KB

SQL语句的优化

 SQL语句级别的优化是我们实际工作中接触最多的,几乎所有的数据库应用说到底都是SQL语句的具体执行,因此如何对SQL脚本本身进行优化,提高执行效率就显得尤为重要。以下是一些通用的设计原则。
   (1)使用select语句查询时,尽量不要使用select * 语句,而是应该指明具体要查询的字段,提取的字段数量越少,查询的速度越快。
  (2)使用Order by 语句排序时,最好按照聚簇索引的字段排序,这样会大大提高排序的速度。
   (3)尽量不要使用or关键字,或是 in(),否则会引起全表扫描,大大减低数据的检索速度。
      比如数据量较大时(几十万记录),不要使用如下的SQL语句:
      Select count(*) from student where id in('0','1')
      Select count (*) from student where id='0' or id='1'
    应该拆分成如下两条SQL语句:
      select count(*) from student where id ='0'
      select count (*)from student where id='1'
   (4)对笛卡尔积,游标,循环要谨慎使用。
   (5)存储过程,函数,包,触发器等尽量不要超过1000行,之间调用不要复杂。
   (6)检查嵌套,递归,子查询的深度,最好不要超过3层。
   (7)order by ,group by ,distinct 这些语句运行时相对来说会占用较大的内存,使用时需要加以注意。
   (8)尽量少用NOt,包括NOT in 和not exist
   (9)between 1 and  10 要比 in (1,10)字段执行效率高。
   (10)当where语句后有多个查询条件时,应该将数据量大的表的查询过滤条件放在前面。
   (11)like 语句是很耗时的,如果条件允许的话,可以使用功能相同的语句代替,比如
         select name from student where ID like '100???'这条语句,会对全表进行顺序扫描;可以改为  select name from student where ID >100000,这样在执行查询时就会利用索引来查询,显然会大大提高速度。
   (13)尽量不要再SQL语句中进行对列的操作,包括数据库函数,计算表达式等,否则会导致全表扫描,要尽可能将操作移至等号右边。
&n


相关文档:

SQL数据库快照


数据库快照是MSSQL2005的新功能,仅在 Microsoft SQL Server 2005 Enterprise Edition 中可用。而且SQL Server Management Studio 不支持创建数据库快照,创建快照的唯一方式是使用 Transact-SQL。
数据库快照是数据库(称为“源数据库”)的只读静态视图。在创建时,每个数据库快照在事务上都与源数据库一致 ......

LINQ to SQL更新数据库操作

使用LINQ to SQL建模Northwind数据库
在这之前一起学过LINQ to SQL设计器的使用,下面就使用如下的数据模型:
当使用LINQ to
SQL设计器设计以上定义的五个类(Product,Category,Customer,Order和OrderDetail)的时候,每个类中的属性
都映射了相应数据库中表的列,每个类的实例则代表了数据库表中的一条记录。另外, ......

20100513.NET调用SQL SERVER存储过程

几个存储过程,很简单的,但是我从来没有学习过,呵呵,这个正是我要来培训的目的
-- =============================================
-- Author:  
-- Create date: 2010年05月12日
-- Description: 此过程用于查询所有用户名及密码
-- =============================================
CREATE PROCED ......

【转】 PL/SQL最差实践

PL/SQL最差实践
http://benben.javaeye.com/blog/278164
1. 超长的PL/SQL代码
           影响:可维护性,性能
           症状:
            在复 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号