`

SQL的几个编码规范

阅读更多


1.避免在where子句中对字段施加函数,这样将导致索引失效,比如:

select * from user where to_char(create_time,'yyyymmdd')='20090101';
原因:在建立index的时候是根据字段来建立的,也就是说oracle在inidex的时候是索引的字段的值,如果提供给oracle的是一个需要经过函数处理的比较,oracle就没办法通过索引中的索引键值来进行相应的比较,所以就不会走到索引上

2.避免在SQL中发生隐式类型转换

如:
select * from user where id='123'; --这里ID是NUMBER型,会造成oracle将id先转换成varchar类型再比较,造成索引失效
select * from user where gmt_create = to_char('2000-01-01','yyyy-mm-dd'); --这里gmt_create是date型,会造成oracle将gmt_create先转换成varchar类型再比较,造成索引失效

3.全模糊查询无法使用INDEX,应当尽可能避免

select * from user where name like '%value%';

4.如果使用Oracle数据库,使用Oracle的外连接,而不是标准的外连接语法

正确:select * from user1 a,user2 b where a.id=b.id(+);
错误:select * from user1 a left join on user2 b a.id=b.id;

5.分页语句必须使用三层嵌套的写法

select * from
(select rownum rn,a,* from
(select * from table where 条件 order by 条件) a
where rownum<=100) where rn>80;

分享到:
评论

相关推荐

    SQL Sever编码规范

    SQL Server 编码规范 SQL Server 编码规范是实训体系编码规范系列中的一部分,旨在提供统一编码标准,指导实训体系学生源代码文件的规范,以保证开发团队的协作和系统的后期维护能有效进行。本文档用于定义 SQL ...

    SQLServer编码规范

    【SQLServer编码规范】 SQLServer编码规范是针对微软SQL Server数据库管理系统制定的一套编程准则,旨在提高代码质量、可读性和可维护性。规范结合了关系理论和SQL-92国际标准,考虑到不同数据库产品的共性和特性...

    PL/SQL 编码规范

    首先,PL/SQL编码规范主要涵盖以下几个方面: 1. **命名规范**:遵循一致且有意义的命名规则至关重要。变量、过程、函数、表和列名应清晰明了,反映其用途。推荐使用驼峰式命名法,如`myVariableName`,且避免使用...

    通用安全编码规范.pdf

    通用安全编码规范可以分为几个主要部分,包括安全编码的原则、Web应用程序常见安全问题、输入验证、错误处理、身份验证、授权、加密、日志记录等。这些部分将在后续章节中进行详细的介绍。 现在,让我们来了解一下...

    华为内部编码规范和范例

    首先,编码规范主要涵盖以下几个方面: 1. **命名规则**:华为的编码规范中会详细规定变量、函数、类、模块等的命名方式,通常遵循见名知意的原则,采用驼峰式或下划线分隔的方式来提高可读性。例如,变量名应避免...

    MSSQLServer命名及编码规范

    MS SQL Server 命名及编码规范是指在使用 MS SQL Server 数据库的过程中,使用统一的命名和编码规范,使数据库命名及编码风格标准化,以便于阅读、理解和继承。该规范主要涉及到数据库命名、表命名、属性命名、主键...

    编码规范和范例(华为)

    编码规范主要包括以下几个方面: 1. **命名规则**:华为的规范强调了变量、函数、类和模块的命名应具有描述性和一致性。例如,使用驼峰式命名法(CamelCase)或下划线连接(snake_case)来区分大小写,避免使用简写...

    团队文档及编码规范.zip_团队编码规范_编码规范

    编码规范通常涵盖以下几个主要方面: 1. **命名规范**:这是编码规范的基础,涵盖了变量、函数、类、模块等的命名。通常要求名称清晰、简洁且具有描述性,遵循驼峰式或下划线分隔的命名规则,避免使用缩写和模糊的...

    c# 编码规范和范例打包下--包括华为编码规范和范例

    本资源包包含了多个关于C#编码规范和范例的文档,旨在帮助开发者形成良好的编程习惯,提高代码的可读性和一致性。 首先,"C#编码规范.doc"可能是一份详细的C#编程规范文档,涵盖了变量命名、注释、类设计、错误处理...

    软件开发编码规范(JAVA、SQL)归纳.pdf

    《软件开发编码规范(JAVA、SQL)归纳》 在软件开发过程中,编码规范扮演着至关重要的角色,它有助于提高代码的可读性、可维护性和团队协作效率。本规范主要针对JAVA和SQL两种语言,旨在为开发者提供一套统一的、有效...

    金蝶K3 新旧物料编码转换 SQL语句

    转换过程中,我们需要以下几个关键步骤: 1. **制定新的编码规则**:根据企业的具体需求,设计新的物料编码体系,可能包括更简洁的格式、增加分类层级、或引入新的标识等。 2. **收集旧物料编码数据**:从金蝶K3...

    编码规范 文档 规范 开发

    在.NET环境中,编码规范通常包括但不限于以下几点: 1. **命名规范**:变量、函数、类、接口等应使用有意义且一致的命名规则。例如,变量名应采用小驼峰式命名,常量全大写,类名和接口名采用大驼峰式命名。 2. **...

    <转>两个编码规范

    标题中的“两个编码规范”指的是在编程领域中遵循的两种主要编码规范,通常是指Java编程语言的编码规范。编码规范是开发人员为了提高代码可读性、可维护性和团队协作效率而制定的一系列规则和约定。这两份文档,...

    数据库开发规范(关于SQL SERVER)

    以下是对标题和描述中涉及的几个主要知识点的详细说明: 1. **命名规范**: - **命名总规则**:遵循A-Z, a-z, 0-9 和_的字符限制,使用英文单词或短语,避免无意义字符和汉语拼音,以确保名称的清晰易懂。 - **表...

    SQL SQLPrompt 9 SQL 2016/2017可用

    在SQL Prompt 9中,有以下几个关键知识点: 1. **智能提示**:SQL Prompt通过分析数据库结构和已输入的代码,为用户提供了实时的SQL语句建议。这包括表名、列名、函数、存储过程等,有助于减少手动输入错误,提高...

    华为编码规范和范例

    首先,编码规范通常会涵盖以下几个方面: 1. **命名规范**:华为的编码规范可能会对变量、函数、类和模块的命名有严格的规定,例如使用驼峰式命名或下划线连接,避免使用模糊不清或者含义不明确的名称,以及规定大...

    编码规范 数据库规范 C#编程规范 CCS样式规范 三合一

    以下将详细讨论标题和描述中提到的几个关键规范:编码规范、数据库规范、C#编程规范以及CSS样式规范。 1. **编码规范**: 编码规范是程序员编写代码时需遵循的一系列规则和约定,包括命名规则、注释标准、缩进格式...

    GF.rar_代码开发规范_编码规范

    编码规范通常涵盖以下几个方面: 1. **命名规则**:包括变量名、函数名、类名、模块名等的命名,一般要求清晰、简洁且具有描述性。例如,使用驼峰式或下划线分隔的命名方式,避免使用缩写除非它们是业界公认的。 2...

    编码规范

    在源码层面,编码规范通常包括以下几个方面: 1. **命名规范**:包括类名、方法名、变量名等,一般推荐采用驼峰命名法或下划线命名法,且命名应具有描述性,避免使用缩写,除非它们是公认的行业术语。 2. **注释...

    Microsoft 编码规范和VSS的使用

    Microsoft提供了官方的编码规范,主要涵盖以下几个方面: 1. **命名规范**:包括类、方法、变量等的命名,一般采用有意义的驼峰式命名或下划线分隔的命名,避免使用缩写和单字母变量名。 2. **注释规范**:清晰的...

Global site tag (gtag.js) - Google Analytics