`

编写sql语句注意事项

 
阅读更多
1、使用绑定变量
不良的写法:
select * from basetab where msisdn=‘13800138000’
正确的写法:
select * from basetab where msisdn=:1
在jdbc中使用preparedstatement
2、不要频繁的commit
不正确的方法:
insert into basetab values(….);
commit;
insert into basetab values(….);
commit;
正确的方法:
insert into basetab values(….);
insert into basetab values(….);
commit;
禁止在jdbc中使用AutoCommit
3、尽量避免分表设计
不好的方式:
按每天或每月一张表
应用开发要根据时间判断操作哪个表
会写成动态的SQL
正确的方式:
使用时间分区表
4、谨慎设计索引
如果查询的结果集为表中记录5%以上使用索引用效
如果查询的结果集数量接近表记录数,使用索引无效
5、正确使用组合索引
create index inx_bas_msi_obj on subscribeinfo(msisdn,objectid);
正确的SQL写法:
select * from subscribeinfo where msisdn=:1 and objectid=:2
不正确的SQL写法:
Select * from subscribeinfo where objectid=:1 and msisdn=:2

1、有表达式的字段无法使用索引
不良习惯:
select * from mydata where 100>salary
Select * from mydate where salary +1 >100;
良好习惯:
select * from mydata where salary<100
2、避免索引字值数据类型转换
create table tx(txtd varchar2(100));
create index idx_txtd on tx(txtd);
不正确的方法
select * from tx where txtd=100;
正确的方法
select * from tx where txtd=‘100’
3、小心 is null 操作
NULL值不在索引中,如果用is null操作会使用不了索引
4、正确使用动态语句
正确的方式:
execute immediate ‘insert into t values(:x)’ using i;
不好的方式:
execute immediate ‘insert into t values(‘||i||’)’;



分享到:
评论

相关推荐

    编写高性能的SQL语句注意事项

    本文将探讨编写高性能SQL语句时应注意的一些事项。 1. **处理NULL值**: - `IS NULL` 和 `IS NOT NULL` 操作在含有NULL值的列上不会使用索引,导致全表扫描。因此,尽量避免在索引列上使用NULL值,同时避免在WHERE...

    编写SQL语句的细节总结

    该演讲文稿总结了一些sql语句编写的注意事项,如考虑网络负担啊,存储空间等细节问题。

    SQL语句的良好编写方法

    在编写SQL语句时,遵循以下步骤可以提高代码质量: 1. 先构建基本框架:从`SELECT`开始,然后是`FROM`,接着是`WHERE`,最后是`ORDER BY`。 2. 明确表和别名:先列出所有参与的表,并为每个表分配一个唯一的别名,...

    基本的Sql编写注意事项

    在SQL编程中,正确编写SQL语句对于数据库性能至关重要。以下是一些基本的SQL编写注意事项,这些技巧适用于SQL Server 2000等系统,旨在提高查询效率和减少全表扫描。 1. 避免过度使用`IN`操作符。`EXISTS`通常比`IN...

    SQL编程注意事项

    2. 避免使用SELECT *:在编写SQL查询时,尽量避免使用`SELECT *`来获取所有列,这可能导致不必要的性能开销,尤其是当表结构更改时。指定需要的列名可以提高查询效率,也有助于减少因新增列而产生的潜在问题。 3. ...

    优化sql语句执行效率几点注意事项

    本文将详细探讨几个关于优化SQL语句执行效率的重要注意事项,旨在帮助数据库管理员和开发者提升系统性能。 首先,理解索引的作用与创建策略是优化SQL的第一步。索引可以大幅提高数据检索速度,但并不是所有字段都...

    MyBatis动态SQL是一项强大的特性,它允许我们在编写SQL语句时根据条件动态地添加或删除某些部分,从而实现更加灵活和高效的

    MyBatis动态SQL是一项强大的特性,它允许开发者在编写SQL语句时根据条件动态地添加或删除某些部分,从而实现更加灵活和高效的数据库操作。这项技术尤其适用于处理复杂多变的业务需求,因为它极大地提高了SQL语句的...

    access 一次执行多条sql语句

    #### 四、注意事项 - **错误处理**: 在编写代码时,一定要注意异常处理,确保在出现错误时能够妥善地回滚事务,避免数据不一致的情况发生。 - **性能考虑**: 在大量数据处理场景下,应考虑使用批处理等方式提高...

    Mybatis中SQL语句的编写.pdf

    本文档主要介绍在XML配置文件中如何编写SQL语句,以及相关的属性配置。 #### 二、SQL语句占位符详解 在MyBatis中,编写SQL语句时可以使用两种不同的占位符:`#{}` 和 `${}`。这两种占位符在功能上有显著差异,了解...

    sql语句生成器

    6. 注意事项: - 数据类型匹配:生成INSERT语句时,要确保提供的值与目标表的列数据类型相匹配,否则可能会导致插入失败。 - 避免重复数据:在批量插入时,如果表已有相同的数据,可能会引发错误。使用ON ...

    动态SQL语句

    在许多场景下,SQL语句或其参数在编写代码时是未知的,只有在程序运行时才能确定,比如基于用户输入的搜索查询、基于条件的列选择或者数据库对象的引用。在这种情况下,动态SQL提供了一种解决方案,它允许在运行时...

    sql 语句生成器

    在数据库管理和数据处理工作中,编写SQL语句是一项基础且重要的任务。然而,手动编写复杂的SQL命令可能会耗费大量时间和精力,尤其对于不熟悉SQL语法或者需要处理大量数据的用户而言。SQL语句生成器通过图形化界面和...

    如何写出高效率的SQL语句--SQL优化技巧

    如何写出高效率的SQL语句--SQL优化技巧 SQL 优化技巧是提高数据库性能的关键所在。编写高效率的 SQL 语句需要对索引的机制有一定了解,以下是关于索引的知识点: 索引的优点和局限 索引可以提高查询的效率,但会...

Global site tag (gtag.js) - Google Analytics