SQL操作全集(部分是Mssql语句,不在access中使用)(4)_Mssql数据库教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:揭秘SQL Server查询优化方法
查询速度慢的原因很多,常见如下几种 1 、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2 、I / O吞吐量小,形成了瓶颈效应。 3 、没有创建计算列导致查询不优化。 4 、内存不足 5 、网络速度慢 6 、查询出的数据量过大(可以采用多


22、说明:列示type、vender、pcs字段,以type字段排列,case可以方便地实现多重选择,类似select 中的case。 
select type,sum(case vender when ’A’ then pcs else 0 end),sum(case vender when ’C’ then pcs else 0 end),sum(case vender when ’B’ then pcs else 0 end) FROM tablename group by type 
显示结果: 
type vender pcs 
电脑 A 1 
电脑 A 1 
光盘 B 2 
光盘 A 2 
手机 B 3 
手机 C 3 

23、说明:初始化表table1 
TRUNCATE TABLE table1 

24、说明:选择从10到15的记录 
select top 5 * from (select top 15 * from table order by id asc) table_别名 order by id desc 
   
随机选择数据库记录的方法(使用Randomize函数,通过SQL语句实现) 
  对存储在数据库中的数据来说,随机数特性能给出上面的效果,但它们可能太慢了些。你不能要求ASP“找个随机数”然后打印出来。实际上常见的解决方案是建立如下所示的循环: 
Randomize 
RNumber = Int(Rnd*499) +1 
  
While Not objRec.EOF 
If objRec("ID") = RNumber THEN 
... 这里是执行脚本 ... 
end if 
objRec.MoveNext 
Wend 
  
  这很容易理解。首先,你取出1到500范围之内的一个随机数(假设500就是数据库内记录的总数)。然后,你遍历每一记录来测试ID 的值、检查其是否匹配RNumber。满足条件的话就执行由THEN 关键字开始的那一块代码。假如你的RNumber 等于495,那么要循环一遍数据库花的时间可就长了。虽然500这个数字看起来大了些,但相比更为稳固的企业解决方案这还是个小型数据库了,后者通常在一个数据库内就包含了成千上万条记录。这时候不就死定了? 
  采用SQL,你就可以很快地找出准确的记录并且打开一个只包含该记录的recordset,如下所示: 
Randomize 
RNumber = Int(Rnd*499) + 1 
  
SQL = "SELECT * FROM Customers WHERE ID = " & RNumber 
  
set objRec = ObjConn.Execute(SQL) 
Response.WriteRNumber & " = " & objRec("ID") & " " & objRec("c_email") 
  
  不必写出RNumber 和ID,你只需要检查匹配情况即可。只要你对以上代码的工作满意,你自可按需操作“随机”记录。Recordset没有包含其他内容,因此你很快就能找到你需要的记录这样就大大降低了处理时间。 
再谈随机数 
  现在你下定决心要榨干Random 函数的最后一滴油,那么你可能会一次取出多条随机记录或者想采用一定随机范围内的记录。把上面的标准Random 示例扩展一下就可以用SQL应对上面两种情况了。 
  为了取出几条随机选择的记录并存放在同一recordset内,你可以存储三个随机数,然后查询数据库获得匹配这些数字的记录: 
SQL = "SELECT * FROM Customers WHERE ID = " & RNumber & " OR ID = " & RNumber2 & " OR ID = " & RNumber3 

分享:揭秘加快数据库查询速度的方法
1 、升级硬件 2 、根据查询条件,建立索引,优化索引、优化访问方式,限制结果集的数据量。 3 、扩大服务器的内存 4 、增加服务器CPU个数 5 、对于大的数据库不要设置数据库自动增长,它会降低服务器的性能 6 、在查询Select语句中用Where字句限制返回的行数,

来源:模板无忧//所属分类:Mssql数据库教程/更新时间:2010-04-23
相关Mssql数据库教程