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

SQL语句效率问题的几点总结

 1. SQL优化的原则是:
  将一次操作需要读取的BLOCK数减到最低,即在最短的时间达到最大的数据吞吐量。  
  调整不良SQL通常可以从以下几点切入:  
  检查不良的SQL,考虑其写法是否还有可优化内容  
  检查子查询   考虑SQL子查询是否可以用简单连接的方式进行重新书写  
  检查优化索引的使用  
  考虑数据库的优化器  
   
2. 避免出现SELECT   *   from   table     语句,要明确查出的字段。    
   
3. 在一个SQL语句中,如果一个where条件过滤的数据库记录越多,
    定位越准确,则该where条件越应该前移。  
   
4. 查询时尽可能使用索引覆盖。即对SELECT的字段建立复合索引,
    这样查询时只进行索引扫描,不读取数据块。  
   
5. 在判断有无符合条件的记录时建议不要用SELECT   COUNT   (*)和select   top   1   语句。  
   
6. 使用内层限定原则,在拼写SQL语句时,将查询条件分解、分类,
    并尽量在SQL语句的最里层进行限定,以减少数据的处理量。  
   
7. 应绝对避免在order   by子句中使用表达式。  
   
8. 如果需要从关联表读数据,关联的表一般不要超过7个。  
   
9. 小心使用   IN   和   OR,需要注意In集合中的数据量。建议集合中的数据不超过200个。  
   
10. <>   用   <   、   >   代替,>用>=代替,<用<=代替,这样可以有效的利用索引。  
   
11. 在查询时尽量减少对多余数据的读取包括多余的列与多余的行。  
   
12. 对于复合索引要注意,例如在建立复合索引时列的顺序是F1,F2,F3,
     则在where或order   by子句中这些


相关文档:

Java 连接数据库、执行SQL封装类

/*当执行SQL时发现不能连接数据库,先重连一次*/
 
import java.io.FileInputStream;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
......

sql server一个使用游标的实例

--创建游标
DECLARE Cursor1 CURSOR FOR
SELECT NODE_NO,NODE_VALUE,SUM(RESALE_SUM-RESALERETU_SUM+SALE_SUM-SALERETU_SUM) sale_sum,
SUM(STORE_SUM) sum_store,SUM(STORE_SUM) store_sum,
sum(RESALE_PROFIT-RESALERETU_PROFIT+SALE_PROFIT-SALERETU_PROFIT-ADJUST_PROFIT) sale_profit
from ......

sql存储过程语法

 
一.注释
  -- 单行注释,从这到本行结束为注释sql 语法,类似C++,c#中//
  /* … */ 多行注释,类似C++,C#中/* … */

二.变量(int, smallint, tinyint, decimal,float,real, money ,smallmoneysql 语法, text ,image, char, varchar。。。。。。)
语法:
DECLARE
&nb ......

SQL替换指定列字符串

 -- ================================================
-- Template generated from Template Explorer using:
-- Create Procedure (New Menu).SQL
--
-- Use the Specify Values for Template Parameters
-- command (Ctrl-Shift-M) to fill in the parameter
-- values below.
--
-- This block of comm ......

PL/SQL开发

bulk collect是可以看做是一种批获取的方式,在我们的plsql的代码段里经常作为into的扩展来使用。对于select id into v from .... 是一个常用的用法。不过这里只能是返回单条记录的时候,才能使用,如果是有多条记录我们就不能用这样的方式,而是使用fetch和循环的方式,不仅使用麻烦,而且性能也底下,这时我们的bulk coll ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号