易截截图软件、单文件、免安装、纯绿色、仅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查询效率 100w数据查询只要1秒

机器情况
p4: 2.4
内存: 1 G
os: windows 2003
数据库: ms sql server 2000
目的: 查询性能测试,比较两种查询的性能
SQL查询效率 step by step
-- setp 1.
-- 建表
create table t_userinfo
(
userid int identity(1,1) primary key nonclustered,
nick varchar(50) not null default '',
classid int not nul ......

移植SQL server数据库对象到Oracle的操作说明

以下是摘自Oracle官网:
Ⅰ Oracle SQL Developer 是一个免费的图形化数据库开发工具。使用 SQL Developer,您可以浏览数据库对象、运行 SQL 语句和 SQL 脚本,并且还可以编辑和调试 PL/SQL 语句。您还可以运行所提供的任何数量的报表,以及创建和保存您自己的报表。SQL Developer 可以提高工作效率并简化数据库开发任务。 ......

SQL分页语句

编码过程中遇到的SQL分页情况,总结:
从数据库表中第M条记录开始检索N条记录
MySQL:
先查询分页,然后排序:
select * from (select * from student  limit 5,2) pageTable order by id desc  ;
先排序,然后查询分页:select * from student order by id desc limit 5,2  ;
Oracle:
SELECT * fro ......

20100513.NET调用SQL SERVER存储过程

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

50条常用sql语句

注:出处已不可考,不过,其中不少语句还是蛮精妙的。
Student(S#(学号),Sname(姓名),Sage(年龄),Ssex(性别)) 学生表
Course(C#(课程编号),Cname(课程名称),T#(老师编号)) 课程表
SC(S#(学号),C#(课程编号),score(分数)) 成绩表
Teacher(T#(老师编号),TnameSname(姓名)) 教师表
问题:
1、查询“001” ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号