`

SQL的书写规范

阅读更多

转载:http://liriguang.iteye.com/blog/701419

虽然oracle主要的工作是dba所做的事情,不过作为一个普通的开发人员也时时刻刻和数据库打交道,普通开发人员也得有一些基本数据库技能。下面是我在开发中的一些oracle数据库开发的一些经验。欢迎大家提意见。

  • 表命名规则

表命名是以英文名称为原则,表示该表的具体意义,例如商品表可以叫item,商品图片表可以叫item_image。

如果公司业务复杂,数据库过多,schema也比较多,则要根据schema的来命名,例如:在crm下面可以用crm开头命名CRM_USER.

临时表应该以tmp开头TMP_USER,这样的表一段时间后将会清除。

备份数据使用的表应该使用bak开头,这样的表在被确认不需要后将被清除。

注:表的命名不能超过30个字符 

 

  • 字段命名

表达该字段的含义

不能用oracle中的保留字

注释一定要详细加上,如status 状态,0 有效,1删除

注:字段长度也尽量简化(如crm_test_times_currently,太长)

 

  • 索引的命名规则

主键(primary key)索引

    PK_表名_列名

唯一键(unique key)索引

    UK_表名_列名

普通索引

     IDX_表名_列名

注:索引的命名不能超过30个字符(在索引中的列名可以简写,一般情况下不简写索引中的表名)

  • 过程与函数

过程的命名规则

    以SP_开头,过程中要注解此过程的作者,编写时间,此过程的功能

函数的命名规则

    以FUN_开头,函数中要注解此函数的作者,编写时间,此函数的功能

变量的命名规则

    本地变量以l_开头;

    传递参数:p_变量名_in  (传入)

              p_变量名_out(传出) 

    游标类型cur_开头;

 

  • 序列的命名规则

           序列的命名

    SEQ_表名_列名

    如何在程序中使用序列所产生的值

         INSERT INTO test(id,nick)

                        VALUES(seq_test_id.nextval,'test');

    如何查询序列的当前值:

         select seq_test_id.currval from dual;

 

  • SQL编写规范

SQL语句所有表名,字段名全部小写,SQL保留字大写;

 

select  *查询语句不允许出现,要明确写查询哪些列;

 

连接符or、in、and、以及=、<=、>=等前后加上一个空格 

 

SQL语句注意缩进

where子句书写时,每个条件占一行,语句另起一行时,以保留字或者连接符开始,连接符右对齐

 

多表连接时,使用表的别名来引用列

sql示例:

SELECT aa.title,aw.bid,aw.closingdate,u.nick

                            FROM t_users u,

                                        t_test tt

                                        t_item aa

                             WHERE u.id = tt.seller

                                   AND tt.id= aa.id

                                   AND u.nick =‘test’;

 

where条件中尽量减少使用常量比较,改用绑定变量 

 

尽量减少order by和group by排序操作 ,有些排序操作可以由应用程序完成

如必须使用排序操作,请遵循如下规则 :

                             1.排序列上有索引

                             2.如结果集不需唯一,使用union all代替                  

                                 union 

 

尽量避免对索引列进行计算,或者对列进行函数操作然后查询 

    例如:

         SELECT t.id FROM test t 

                           WHERE upper(t.nick) = :1

         正确的是:

         SELECT t.id FROM test t 

                            WHERE t.nick = upper(:1)

注意绑定变量与索引列数据类型的一致性

       表test字段id的类型为number

错误的是:

    SELECT  t.subject from test 

                                    WHERE t.id=‘5’; 

    此写法将不会走id字段上的索引,执行计划为全表扫描

正确的是:

    SELECT  t.subject FROM test 

                                    WHERE t.id=5; 

 

分页sql写法

select * from (select t.*,rownum as rn from (select id,name,sex from test order by id desc) t where rownum < 21) where rn >19;

 

适当使用提示优化

select /* + index(a idx_test)*/ count(*) from test a;

 

分享到:
评论

相关推荐

    SQL书写规范;书写优化性能建议;经验性规则

    一、sql书写规范: 二、书写优化性能建议 三、其他经验性规则 一、sql书写规范: 1、sql语句的所有表名、字段名全部小写,系统保留字、内置函数名、sql保留字大写。 2、连接符or、in、and、以及=、、&gt;=等前后...

    sql 书写规范

    "sql 书写规范" SQL 书写规范是为了确保 SQL 代码的可读性、可维护性和性能,以下是 SQL 书写规范的详细说明: 基础规范 1. 语句中出现的所有表名、字段名全部小写,系统保留字、内置函数名、Sql 保留字大写。 2....

    Oracle_SQL_PL/SQL书写规范性能优化技巧.doc

    PL/SQL书写规范 1、 语句中出现的所有表名、字段名全部小写,系统保留字、内置函数名、Sql保留字大写。 2、 连接符or、in、and、以及=、、&gt;=等前后加上一个空格。 3、 对较为复杂的sql语句加上注释,说明算法、...

    sql语言 书写规范 标准

    sql 书写规范 让你的sql更标准 sql 书写规范 让你的sql更标准 sql 书写规范 让你的sql更标准

    ORACLE高效SQL书写规范

    ### ORACLE高效SQL书写规范详解 #### 一、书写格式规范 **1-1、大小文字及空格的统一** 为了提高SQL语句的可读性和执行效率,建议使用统一的大写或小写来书写SQL语句,并且避免不必要的空格。在ORACLE中,表名、...

    SQL编程规范(还不错哦)

    本规范涵盖了 SQL 书写规范、书写优化性能建议和其他经验性规则,旨在帮助开发者编写高效、可靠的 SQL 代码。 SQL 书写规范 SQL 书写规范旨在提高 SQL 代码的可读性和可维护性。主要规则包括: 1. SQL 语句的所有...

    OracleSql脚本书写规范

    以下是一些关键的Oracle SQL书写规范: **1. 选择最有效率的表名顺序 (只在基于规则的优化器中有效)** 在联接多个表时,考虑表的大小和数据分布,将小表放在前面,大表放在后面,这样可以减少大表上的扫描次数。 ...

    MS SQLSERVER数据库开发规范.docx

    该规范涵盖了数据库、表、视图、字段等数据库对象的命名规范,以及 T-SQL 的书写规范。 命名规范 命名规范是数据库开发的基础,它规定了数据库对象的命名规则,使得数据库对象的命名变得有序和易于理解。该规范...

    IBM的sql开发规范

    1. **SQL书写规范**: - **全部使用大写字母**:这是因为Oracle在解析SQL时会将小写字母转换为大写,统一大小写可以避免不必要的解析步骤。 - **禁止带参数的字符串拼接**:这样做是为了防止SQL注入攻击,参数化...

    SQL编程书写的规范及一些书写优化性能建议

    一、SQL书写规范: 1. **命名约定**:推荐所有表名、字段名使用小写字母,系统保留字、内置函数名、SQL保留字使用大写字母,以便区分。 2. **空格使用**:在逻辑运算符(如`OR`、`IN`、`AND`)和比较运算符(如`=`、...

    sql存储过程书写格式规范

    ##### 二、SQL存储过程书写规范 **1. 头部注释规范** - **目的**:头部注释用于描述存储过程的基本信息,如作者、创建日期、功能描述等。 - **示例**: ```sql --============================================= ...

    Oracle Sql高效语句的写法诀窍

    编写高效的Oracle SQL语句是数据库管理员和开发人员必须掌握的技能,因为它直接影响到数据库的性能和响应速度。使用绑定变量是提高SQL语句执行效率的关键技术之一。 绑定变量的概念和重要性: 绑定变量是SQL语句中...

    BI项目开发规范-来自于帆软

    1. SQL书写规范: - 必须执行:包括但不限于正确使用注释,保持SQL语句的简洁清晰,避免过度复杂的嵌套查询,以及正确使用事务控制等。 - 推荐执行:比如使用预编译语句防止SQL注入,适当使用JOIN而非子查询以提升...

    sql脚本书写规范

    在SQL脚本编写中,规范是非常重要的,它不仅有助于提高代码的可读性和可维护性,还能确保数据库操作的一致性和稳定性。以下是一些关于"sql脚本编写规范"的关键知识点,结合描述中的博文链接以及可能包含的创建增量...

    SQL开发规范

    SQL书写规范 ##### 2.1 书写标准 - **关键字**: SQL中的关键字均使用大写字母,以增加代码的可读性。 - **字段名和表名**: 字段名、表名均使用小写字母,保持一致性。 - **Select语句**: Select与from语句之间只...

    SQL规范

    SQL书写规范 - **规则说明**:规范SQL语句的书写风格,确保代码的一致性。 - **建议实践**:例如,对于SELECT语句,推荐将不同的列名放在单独一行,增加可读性。 ##### 4. 保留字和关键字 - **规则说明**:明确...

    sql编码规范

    混乱的书写规范会造成代码的可读性差,而良好的书写规范会提高代码的可读性。因此,在编写 SQL 程序时,应该遵守以下规则: 2.1 大小写风格规则 * 所有的数据库关键字、保留字、操作符使用大写。 * ORACLE 保留字...

    sql书写优化和性能优化

    ### SQL书写优化与性能优化详解 #### 一、书写风格 **1. SQL语句全部使用小写** 为了保持代码一致性与可读性,所有SQL语句均需使用小写字母编写。这一规则适用于所有的关键字、函数名称及操作符等。 **2. 引用...

    数据库书写规范,优化代码,加快处理速度

    SQL-书写规范详细描述了ORACLE数据库的各项代码优化心得,对数据库脚本编写帮助显著。

Global site tag (gtag.js) - Google Analytics