wxsheng 发表于 2016-11-6 10:07:33

sql技巧

1、Oracle和SQL server是有很大差异的,并不仅是字段的差异,包括索引使用、锁机制、查询优化机制等都不同,要注意区别。
2、表连接尽量用inner join。减少在where中用or或In的方式,它们会引起全表扫描
3、Where中少用NOT、!=、<>、!<、!>、NOT EXISTS、NOT IN、NOT LIKE,它们会引起全表扫描
4、Where中少用函数,如abs,Lower等,它们会引起全表扫描,但简单的操作如字段*2是可以的
6、Like语句:name like ‘张%’ 会用到索引,而name like ‘%张’则会全表扫描
7、Oracle中In子查询返回的结果不能超过1000条,慎用。用 exists是个替代的方案。
8、 Selcet中每少提取一个字段,数据的提取速度就会有相应的提升。提升的速度还要看您舍弃的字段的大小来判断。所以不要使用Select *。
9、重点:程序中写SQL语句要用带“?”的PrepareStatement(Java)或带“:字段名”的SQL(Delphi),用pstmt.setString()或Parameters.ParamByName('').Value(Delphi)设置参数,而不要用一条拼好参数的字符串,这样才能使用上数据库的缓存机制
页: [1]
查看完整版本: sql技巧