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

《软件开发性能优化系列》之Sql性能优化(二)

  一、SQL拼写建议 1、查询时不返回不需要的行、列       业务代码要根据实际情况尽量减少对表的访问行数,最小化结果集,在查询时,不要过多地使用通配符如:select * from table1语句,要用到几列就选择几列,如:select col1,col2 from table1;在可能的情况下尽量限制结果集行数如:select top 100 col1,col2,col3 from talbe2,因为某些情况下用户是不需要那么多的数据的。 2、合理使用EXISTS, NOT EXISTS字句      如下所示:      SELECT SUM(T1.C1) from T1 WHERE ((SELECT COUNT(*) from T2 WHERE T2.C2=T1.C2)>0)      SELECT SUM(T1.C1) from T1 WHERE EXISTS(SELECT * from T2 WHERE T2.C2=T1.C2)        两种产生相同的结果,但是后者的效率显然要高过于前者。银行后者不会产生大量锁定的表扫描或是索引扫描。        经常需要些一个T_SQLL语句比较一个父结果集和子结果集,从而找到是否存在在父结果集中有而在子结果集中乜嘢的记录,如:      SELECT _a.hdr_key from hdr_tb1 a               -----------tb1 a 表示tb1用别名a代替      WHERE NOT EXISTS (SELECT * from dt1_tb1 b WHERE a.hdr_key = b.hdr_key)        SELECT _a.hdr_key from hdr_tb1 a               -----------tb1 a 表示tb1用别名a代替      LEFT JION dt1_tb1 b ON  a.hdr_key = b.hdr_key WHERE b.hdr_key IS NULL        SELECT hdr_key  from hdr_tb1      WHERE hdr_key NOT IN (SELECT hdr_key from dt1_tb1)        三种写法都可以得到同样的结果集,但是效率是依次降低 3、充分利用连接条件      在某种情况下,两个表之间可能不止一个的连接条件,这时在where 字句中将谅解条件完整的写上,有可能大大提高查询速度。      例:     a)、SELECT SUM(A.AMOUNT) from ACCOUNT A left j


相关文档:

数据库sql的特殊字符:

数据库sql的特殊字符:
1)单引号’:例如string a = “this is marry’s book.”;
             使用insert时就会出错。
             解决:a= a.Replace("'","' ......

SQL注入教程之进阶篇

在入门篇,我们学会了SQL注入的判断方法,但真正要拿到网站的保密内容,是远远不够的。接下来,我们就继续学习如何从数据库中获取想要获得的内容,首先,我们先看看SQL注入的一般步骤:
第一节、SQL注入的一般步骤
  首先,判断环境,寻找注入点,判断数据库类型,这在入门篇已经讲过了。
  其次,根据注入 ......

数据库相关:JDBC直连SQL Server 2005

来自:http://www.cnblogs.com/mikeye/archive/2007/04/13/711878.html
和来自:http://tech.ccidnet.com/art/3539/20080225/1370107_1.html
用eclipse来进行Microsoft SQL Server 2005数据库方面的开发,先把MS SQL Server 2005 JDBC Driver的驱动下载后加入工程文件的类库中;然后写URL字符串。根据以往的写法写入:url = ......

修复SQL Server Enterprise Manager.MSC

       今天打开企业管理器的时候提示“关于MMC不能打开文件C:\Program Files\Microsoft SQL Server\80\Tools\Binn\SQL Server Enterprise Manager.MSC可能是由于文件不存在,不是一个MMC控制台,或者用后来的MMC版本创建。也可能你没有访问此文件的足够权限”,google之,发 ......

asp.net(c#) 下SQL存储过程使用详细实例

记取记录集
create procedure getArticle
as
select * from Article_Content
GO
asp.net 调用方法
  SqlConnection Conn = new SqlConnection();
        Conn.ConnectionString = Data.Connstr();
        Conn.Open();
  ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号