ORACLE编码规范

合集下载

ORACLE修改数据库的字符集编码为UTF-8

ORACLE修改数据库的字符集编码为UTF-8

ORACLE修改数据库的字符集编码为UTF-81、查看数据库字符集?数据库服务器字符集:select * from nls_database_parameters,其来源于props$,是表⽰数据库的字符集。

客户端字符集环境:select * from nls_instance_parameters,其来源于v$parameter,表⽰客户端的字符集的设置,可能是参数⽂件,环境变量或者是注册表会话字符集环境select * from nls_session_parameters,其来源于v$nls_parameters,表⽰会话⾃⼰的设置,可能是会话的环境变量或者是alter session完成,如果会话没有特殊的设置,将与nls_instance_parameters⼀致。

客户端的字符集要求与服务器⼀致,才能正确显⽰数据库的⾮Ascii字符。

如果多个设置存在的时候,alter session>环境变量>注册表>参数⽂件字符集要求⼀致,但是语⾔设置却可以不同,语⾔设置建议⽤英⽂。

如字符集是zhs16gbk,则nls_lang可以是American_America.zhs16gbk。

2、修改Oracle的字符集,如下例把字符集GB2312修改为UTF-8 步骤: 1.在SQL*PLUS 中,以DBA登录 conn ⽤户名 as sysdba 2.执⾏转换语句: SHUTDOWN IMMEDIATE; STARTUP MOUNT EXCLUSIVE; ALTER SYSTEM ENABLE RESTRICTED SESSION; ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0; ALTER SYSTEM SET AQ_TM_PROCESSES=0; ALTER DATABASE OPEN; ALTER DATABASE NATIONAL CHARACTER SET UTF8; SHUTDOWN IMMEDIATE; STARTUP;注意:如果没有⼤对象,在使⽤过程中进⾏语⾔转换没有什么影响,(切记设定的字符集必须是ORACLE⽀持,不然不能start)按上⾯的做法就可以,但是可能会出现ORA-12717: Cannot ALTER DATABASE NATIONAL CHARACTER SET when NCLOB data existsORA-12717: 存在 NCLOB, NCHAR 或 NVARCHAR2 数据时, 不能发出 ALTER DATABASENATIONAL CHARACTER SET 命令这样的提⽰信息要解决这个问题有两种⽅法⼀个是,利⽤INTERNAL_USE 关键字修改区域设置,还有⼀个是利⽤re-create,但是re-create有点复杂,所以请⽤internal_use, SHUTDOWN IMMEDIATE; STARTUP MOUNT EXCLUSIVE; ALTER SYSTEM ENABLE RESTRICTED SESSION; ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0; ALTER SYSTEM SET AQ_TM_PROCESSES=0; ALTER DATABASE OPEN; ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE UTF8; SHUTDOWN IMMEDIATE; STARTUP;如果按上⾯的做法做,National charset的区域设置就没有问题。

Oracle EBS编码规范

Oracle EBS编码规范

Oracle EBS开发编码规范天马信息技术管理部(内部使用)文档变更记录目录1、引言 (5)1、编写目的 (5)2、适用范围 (5)3、文档规范 (5)2、数据库命名规范 (7)2.1表空间 (7)系统表空间 (7)用户表空间 (7)表空间数据文件 (7)2.4 表相关 (8)表名 (8)列名 (8)主键名 (8)外键名 (8)CHECK约束 (8)UNIQUE约束 (8)索引名 (9)视图 (9)2.5 PL/SQL对象名 (9)过程 (9)函数 (9)包 (9)2.6其他对象 (10)角色名 (10)序列名 (10)同义词 (10)数据库链 (10)3、SQL规范 (10)3.1 CREA TE (11)3.2 SELECT (11)3.3 INSERT (11)3.4 UPDA TE (11)3.5 DELETE (11)5、PL/SQL开发规范 (11)5.1代码 (11)5.2对象名 (12)5.3参数 (12)5.4变量常量 (12)6、Operation System Files(操作系统档案) (13)7、OAF开发规范 (13)命名空间 (13)8、Applications Objects(系统对象) (13)9、Documentation (文件) (14)10、开发评分标准 (15)1、引言1、编写目的运用统一的数据库平台规范,对数据库及EBS整体命名以及编码风格进行标准化,便于管理开发以及维护人员进行阅读、交流与理解。

2、适用范围本规范适用于所有以ORACLE EBS 为平台客制化开发的项目团队及维护团队。

3、文档规范《MMM》表示命名为在实际情况下MMM所表示的内容为模块缩写。

并非MMM本身。

AA + BB + CC表示名称为AABBCC。

AA + BB + CC/DD表示名称为AABBCC或AABBDD。

英文缩写对于英文单词较长的情况下,使用辅音缩写,缩写参照英文缩写规范,并尽量使用通用的缩写方式。

oracle字符串排序规则

oracle字符串排序规则

oracle字符串排序规则Oracle字符串排序规则在Oracle数据库中,字符串的排序规则是按照字符的Unicode编码值进行排序的。

Unicode编码是一种字符集,它为全球各种语言的字符定义了唯一的编码值。

在Oracle中,字符串排序规则遵循Unicode编码顺序,即根据字符的编码值进行排序。

在Oracle中,字符串排序规则是基于字符的编码值从小到大进行排序的。

这意味着在排序过程中,先出现在Unicode编码表中的字符会排在前面,后出现在编码表中的字符会排在后面。

例如,字母"A"的Unicode编码值是65,字母"B"的Unicode编码值是66,所以在排序时,"A"会排在"B"的前面。

除了字母外,数字和特殊字符也遵循相同的排序规则。

数字的排序是基于其对应的Unicode编码值进行的,数字0的编码值是48,数字1的编码值是49,以此类推。

特殊字符如空格、逗号、句号等也有对应的编码值,它们的排序顺序也是按照Unicode编码值从小到大排序。

在Oracle中,字符串排序规则是大小写敏感的。

这意味着大写字母会排在小写字母的前面。

例如,字符串"Apple"会排在字符串"banana"的前面,因为字母"A"的编码值小于字母"b"的编码值。

如果想要忽略大小写进行排序,可以使用特殊的排序函数进行处理。

在Oracle中还可以根据需要定制字符串的排序规则。

可以使用COLLATE子句来指定排序规则,如COLLATE BINARY表示使用二进制排序规则,COLLATE NOCASE表示不区分大小写进行排序等。

这些定制的排序规则可以满足不同场景下的排序需求。

总结起来,Oracle字符串排序规则是基于字符的Unicode编码值进行排序的。

排序顺序是根据字符在Unicode编码表中的先后顺序来确定的,同时大小写敏感。

ORACLE SQL编写规范(v1.1)

ORACLE SQL编写规范(v1.1)
2
1.SQL(PL/SQL)编码格式规范
一些第三方开发工具,例如TOAD等,都有比较好的格式化功能,大家可以用 其做风格统一和美化使用,以下是自定义的一套规范,可以供大家参考。


大小写风格
所有数据库的关键字和保留字均使用大写,对象名称、列名称则使用小写。 缩进风格
程序块以及SQL均采取统一的缩进风格书写,保持代码的清晰易懂,风格一致,
ANSI标准写法:使用RIGHT(LEFT) OUTER JOIN ON来实现外连接
SELECT i.first_name, st_name, z.state FROM instructor i RIGHT OUTER JOIN zipcode z ON i.zip = z.zip GROUP BY i.first_name, z.state;
7. FOR UPDATE语句使用注意
FOR UPDATE语句的作用在于并发环境下,某用户将查询到的数据加锁,以
便后续的操作过程中,该数据不会被其他用户所修改,这通常用于一些公共模块的 公共处理场景。
由于锁定操作势必会影响到并发性,所以原则就是尽量把条件限定严格,使
锁定的记录数最少,并且在后续的操作完成后尽快提交或回滚事务,以便其他用户 能尽快得到锁资源。 除特殊原因外,严格禁止不加过滤条件的SELECT语句中使用FOR UPDATE 子句。
多表连接的ANSI写法:
SELECT s.section_no, c.course_no, c.description,i.first_name, st_name FROM course c JOIN section s ON (s.course_no = c.course_no) JOIN instructor i ON (i.instructor_id = s.instructor_id);

oracle sql developer 编码格式

oracle sql developer 编码格式

一、介绍Oracle SQL Developer编码格式的重要性Oracle SQL Developer是一款用于管理Oracle数据库的集成开发环境(IDE),它不仅可以用于编写和执行SQL语句,还可以进行数据建模、数据导入导出等操作。

在使用Oracle SQL Developer时,编码格式的设置至关重要,它直接影响到SQL语句的正确性和可读性。

了解和正确设置Oracle SQL Developer的编码格式对于数据库开发人员来说至关重要。

二、Oracle SQL Developer编码格式的设置方法1. 打开Oracle SQL Developer并登入到需要操作的数据库2. 点击菜单栏中的“工具”-“首选项”-“代码编辑器”-“文件编码”选项3. 在文件编码选项中,可以选择默认的文件编码格式,一般情况下默认为UTF-84. 确定设置后,关闭首选项窗口,设置即生效。

三、UTF-8编码格式在Oracle SQL Developer中的应用UTF-8是一种针对Unicode的可变长度字符编码,它可以表示Unicode标准中的任何字符,并且在互联全球信息站有广泛的应用。

在Oracle SQL Developer中,使用UTF-8编码格式可以很好地支持中文、英文等多种语言的字符,保证数据库操作的正确性和稳定性。

四、常见的编码格式错误及解决方法1. 中文乱码:在使用Oracle SQL Developer进行数据库操作时,有时会出现中文乱码的情况。

这通常是由于数据库和Oracle SQL Developer的编码格式设置不一致导致的。

解决方法是统一数据库的编码格式,并在Oracle SQL Developer中设置相应的文件编码格式。

2. 数据录入错误:如果在使用Oracle SQL Developer进行数据录入时出现字符错误或丢失的情况,很可能是由于编码格式不匹配所致。

在这种情况下,需要检查数据库和Oracle SQL Developer的编码格式设置,并做出相应的调整。

oracle sysguid 规则

oracle sysguid 规则

oracle sysguid 规则Oracle SYS_GUID 规则Oracle SYS_GUID 是Oracle数据库中用于生成全局唯一标识符(GUID)的内建函数。

SYS_GUID 函数返回一个RAW(16 字节)值,该值在全球范围内具有唯一性。

它可以用作主键、唯一标识符或其他需要全局唯一性的标识符。

SYS_GUID 函数在Oracle数据库中使用以下规则生成全球唯一标识符:1. 生成算法:SYS_GUID 函数使用主机名、实例标识符、进程标识符、时间戳和其他因素作为种子,并计算出一个唯一的标识符。

2. 固定长度:SYS_GUID 返回固定长度的字符串,长度为16字节,或者说是32个十六进制字符。

3. 全局唯一性:由于生成算法的复杂性和使用多个因素作为种子,SYS_GUID 生成的标识符在全球范围内具有唯一性。

即使在不同的数据库实例和不同的时间产生的SYS_GUID 标识符也不会有冲突。

4. 不可预测性:SYS_GUID 生成的标识符在一定程度上是不可预测的。

由于算法使用主机名、时间戳等变量作为种子,在不同的环境下生成的标识符具有一定的随机性。

使用SYS_GUID 函数有以下注意事项:1. 数据类型转换:SYS_GUID 函数返回一个 RAW 数据类型的值,通常需要将其转换为其他数据类型进行存储和使用。

可以使用该函数和其他Oracle函数进行数据类型转换。

2. 主键和唯一标识符:SYS_GUID 函数生成的标识符可以用作表的主键或唯一标识符,确保数据库中的数据在全球范围内保持唯一。

3. 性能影响:由于SYS_GUID 函数的计算复杂性和生成的标识符长度较长,使用SYS_GUID 作为主键可能会对数据库性能有一定的影响。

在设计数据库时需要权衡使用SYS_GUID 的需求和性能要求。

总结:Oracle SYS_GUID 提供了一种在全球范围内生成唯一标识符的方法。

它使用复杂的算法和多个因素作为种子,保证了生成的标识符的唯一性。

oracle数据库字符串排序规则

oracle数据库字符串排序规则

Oracle数据库中的字符串排序规则是由数据库的排序规则(Sort Order)决定的。

排序规则定义了字符的比较和排序方式,以确定字符串的顺序。

在Oracle数据库中,常见的排序规则有以下几种:
1. BINARY:这是默认的排序规则,按字符串的二进制编码进行排序。

它对大小写敏感,按照字符的Unicode值进行排序。

2. NCHAR:用于对Unicode字符进行排序的规则。

它会考虑字符的语言环境和字符集,可以正确地处理多种语言的排序需求。

3. EBCDIC:用于EBCDIC字符集的排序规则。

EBCDIC是一种用于早期计算机系统的字符编码标准,此规则适用于使用该字符集的场景。

4. GERMAN:用于德语排序的规则。

它考虑了德语特定的排序规则,如字母的重音标记、大小写变化和特殊字符的排序顺序。

5. FRENCH:用于法语排序的规则。

它考虑了法语特定的排序规则,如重音标记和特殊字符的排序顺序。

6. SPANISH:用于西班牙语排序的规则。

它考虑了西班牙语特定的排序规则,如重音标记和特殊字符的排序顺序。

以上仅为Oracle数据库中一些常见的排序规则示例,实际上还有其他的排序规则可用。

在创建数据库或表时,可以指定所需的排序规则,或者使用数据库默认的排序规则。

可以通过查询NLS_SESSION_PARAMETERS视图查看当前会话中使用的排序规则。

oracle decimal格式

oracle decimal格式

oracle decimal格式摘要:1.Oracle 中的Decimal 格式2.Decimal 格式的组成3.Decimal 格式的规则4.Decimal 格式的示例正文:Oracle 中的Decimal 格式是指在Oracle 数据库中,用于存储和处理十进制数字的一种数据类型。

它可以精确地表示十进制数字,并支持小数点后的位数自定义。

Decimal 格式在Oracle 数据库中具有广泛的应用,例如在财务、会计等领域。

Decimal 格式的组成包括以下几个部分:1.符号位:符号位用于表示数字的正负。

一般情况下,正数用0 表示,负数用1 表示。

2.整数部分:整数部分用于表示数字的整数部分,其位数可以根据需要进行自定义。

3.小数点:小数点用于分隔整数部分和小数部分。

4.小数部分:小数部分用于表示数字的小数部分,其位数也可以根据需要进行自定义。

Decimal 格式的规则如下:1.符号位为1 位,范围为0-9。

2.整数部分为1-14 位,范围为0-9。

3.小数点为1 位,范围为0-9。

4.小数部分为1-28 位,范围为0-9。

Decimal 格式的示例:假设我们要在Oracle 数据库中存储一个精确到小数点后两位的十进制数字123.45,可以使用Decimal 格式进行存储。

具体方法是:1.在创建表时,定义一个Decimal 类型的字段,例如:CREATE TABLE example (id NUMBER(14, 2));2.在插入数据时,将数字123.45 插入到Decimal 类型的字段中,例如:INSERT INTO example VALUES (123.45);3.在查询数据时,可以直接查询Decimal 类型的字段,例如:SELECT * FROM example;通过以上示例,我们可以看到如何在Oracle 数据库中使用Decimal 格式存储和处理十进制数字。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

密级:内部公开文档编号:NTT_SD_OBMGF版本号:V1.0ORACLE编码规范惠州市新中新电子技术开发有限公司------------------------------------------------------------------------------------------------------ 惠州市新中新电子技术开发有限公司对本文件资料享受著作权及其它专属权利,未经书面许可,不得将该等文件资料(其全部或任何部分)披露予任何第三方,或进行修改后使用。

文件更改摘要:目录1.前提 (6)2.英文使用原则 (6)3.逻辑对象的定义规范 (6)3.1. ORACLE表空间定义 (6)3.1.1.原则 (6)3.1.2.命名 (6)3.2. ORACLE数据文件 (7)3.2.1.数据文件的存放 (7)3.2.2.数据文件的命名 (7)3.2.3.数据文件的大小 (7)3.2.4.数据文件属性 (7)3.3. 用户管理 (7)3.3.1.用户创建 (7)3.3.2.用户授权 (7)3.3.3.密码管理 (8)3.3.4.用户命名规范 (8)3.4. 表定义 (8)3.4.1.表名 (8)3.4.2.主键(PRIMARY KEY) (9)3.5. 列 (9)3.5.1.列类型 (9)3.5.2.列长度 (9)3.6. 索引 (10)3.7. 主键 (10)3.8. 外键 (10)4.表分析 (10)5.PL/SQL存储过程编写规范 (10)5.1. 命名 (10)5.2. 格式 (11)5.3. 大小写规则 (11)5.4. 语句规范 (12)5.4.1.SELECT语句的格式标准: (12)5.4.2.UPDATE语句的格式标准: (12)5.4.3.INSERT语句的格式标准: (13)5.4.4.DELETE语句的格式标准: (13)5.4.5.UNION,INTERSECT及MINUS (13)5.4.6.尽量避免使用GOTO.. .. BEL语句; (14)5.4.7.ORACLE的伪表与伪列: (14)5.4.8.使用%ROWTYPE 和%TYPE (15)5.4.9.尽量不使用NOT IN子句; (15)5.4.10.不要在WHERE 子句中使用函数作为条件; (15)5.4.11.使用SELECT COUNT(1) (15)5.4.12.EXISTS 子句中,使用SELECT 1; (15)5.4.13.使用CREATE T ABLE AS; (15)5.4.14.使用TRUNCATE T ABLE; (16)5.4.15.在PL/SQL 中使用sqlcode,sqlerrm (16)5.4.16.适当使用ORACLE的HINT; (16)5.5. 注释要求 (17)5.5.1.位置要求 (17)5.5.2.存储过程注释要求 (17)5.5.3.代码片断注释要求 (17)5.6. 代码片断处理要求 (18)5.6.1.变量的声明 (18)5.6.2.数据选取 (18)5.6.3.游标的使用 (18)5.6.4.错误处理要求 (19)5.6.5.尾注要求 (20)6.C/C++嵌入式SQL书写规范 (20)6.1. S ELECT语句格式标准 (21)6.2. U PDATE语句格式标准 (21)6.3. D ELETE语句格式标准 (21)6.4. I NSER T 语句格式标准 (22)6.5. 日期、时间使用格式 (22)7.JDBC&ORACLE使用注意点 (22)7.1. 关闭自动提交功能,提高系统性能 (22)7.2. 在动态SQL或有时间限制的命令中使用S TA TEMENT对象 (22)7.3. 在成批处理重复的插入或更新操作中使用P REPARED S TA TEMENT对象 (23)7.4. 利用SQL完成数据库内的操作 (23)8.数据库设计开发约定 (23)8.1. 英文命名全部大写,单词之间用下划线分隔 (23)8.2. V ARCHAR类型字段最长为4000 (24)8.3. 所有数值型的字段统一使用NUMBER(X)/ NUMERI C(X) (24)8.4. 索引名统一为IDX_T ABLE N AME[_X] (24)8.5. SQL查询条件中注意字段的类型要一致 (24)8.6. 字段别名统一用AS方式 (24)9.存储过程开发约定 (25)9.1. 存储过程命名约定 (25)9.2. 存储过程变量前缀命名约定 (25)9.3. 存储过程参数传递约定 (26)9.4. 返回值约定 (26)9.5. 异常处理约定 (27)1.前提1.数据库设计工具使用PowerDesigner。

2.英文使用原则1.使用英文名称时,统一使用大写。

单词之间用下划线“_”进行分隔。

使用范围包括表、视图、序列号、字段、函数、存储过程、过程包、用户名、角色名、同义词名、表空间名等。

2.单词长度大于7的可以考虑用缩写,但需报备数据库审核小组,由数据库审核小组负责形成英文单词缩写汇总表,统一所有英文单词的缩写格式。

3.逻辑对象的定义规范3.1. ORACLE表空间定义3.1.1.原则每个用户定义自已的表空间,每个用户至少一个表空间,非SYSTEM用户不得使用SYSTEM表空间。

表和索引分开存储,存放在不同的表空间,为每个用户建立单独的用于专门存放索引的表空间。

如果条件允许,应将数据量较大的表归类(大于100万条记录)单独指定表空间,并将该表空间的BLOCK_SIZE指定大于等于16K随时间推移不断增大的流水表应考虑采用分区的方式进行存储。

每个分区单独指定一个表空间与之对应。

3.1.2.命名用户表表空间命名格式:TBS_UserName 或TBS_UserName_BlockSize例如: TBS_OLAP 或 TBS_OLAP_16K索引表空间命名格式:TBS_UserName_IDX 或TBS_UserName_BlockSize例如: TBS_OLAP_IDX 或 TBS_OLAP_IDX_8K3.2. ORACLE数据文件3.2.1.数据文件的存放为了便于管理,数据文件应统一存放在指定目录3.2.2.数据文件的命名数据文件命名前缀应与表空间名一致,并加扩展名以示区别,例如:TBS_E_METADB.ORA当一个表空间有多个数据文件时,分别以表空间名加序号并加扩展名来命名各个数据文件,例如:TBS_E_ODS.ORA、TBS_E_ODS_2.ORA3.2.3.数据文件的大小每个数据文件的大小建议不超过2G3.2.4.数据文件属性将数据文件属性设置成自动扩展,以防止表空间满后出现无法插入的错误3.3. 用户管理3.3.1.用户创建每个相对独立的模型建立一个用户每个数据库实例建议另外单独建一个DBA用户,如E_DBA,平常数据库管理员用该用户进行数据库管理,只有在数据库启动和关闭时才用SYS用户进行登录。

3.3.2.用户授权普通用户仅授予CONNECT 和RESOURCE 角色权限,除DBA用户外,不得给普通用户授予DBA角色权限。

3.3.3.密码管理用户密码设置应避免使用弱密码,特别是SYS/SYSTEM和另外单独建的DBA用户。

3.3.4.用户命名规范用户名由公司标识+数据逻辑层+“_”+用途简称(英文)命名如下:⏹系统管理层:ES_(System)◆ES_SYSTEM:系统管理库;◆ES_METADB:元数据库;◆ES_WF:工作流管理;◆ES_...:其它系统管理数据库⏹接口层:EI_(Interface)◆EI_HA:沪A接口◆EI_SA:深A接口◆EI_HB:沪B接口◆EI_SB:深B接口◆EI_ST:三板接口◆EI_OF:开放式基金接口◆EI_...:其它外部接口⏹应用程:EA_(Application)◆EA_PUB:公用业务管理◆EA_FUND:资金账务管理◆EA_SEC:股份账务管理◆EA_...:其它应用数据库⏹一级历史数据◆原库名+_HIST:如E_FUND历史库,E_FUND_HIST⏹二级历史数据◆同一级历史数据,具体可以等到确定二级历史数据的管理规范后再确定。

3.4. 表定义3.4.1.表名在PowerDesigner中建模时,表的中文名称统一使用,代码+名称的格式,如柜台客户信息表的中文名称:TR_CUST_INFO客户信息表。

一般情况下,不使用前缀,但是如果一个库中的表很多(如开放式基金接口库等),为便于分类管理,也可以采用前缀标进行分类。

3.4.2.主键(PRIMARY KEY)根据实际情况,尽可能为每张表建一个唯一主键,主键字段类型最好用整数。

选择有意义的,不太长且能唯一标识记录行的列做主键,没有这种列时,才考虑使用SEQUENCE做主键。

3.5. 列3.5.1.列类型●字符型字段使用V ARCHAR2类型,除了能明确定长的字段,应尽量避免使用CHAR类型(ORACLE的CHAR类型在位数不足时会自动补空格)●V ARCHAR2的定义最多4000字符,如超出应考虑使用其它字段类型●数字型字段统一使用NUMBER型,并指定长度,整型使用NUMBER(m),如NUMBER(6);浮点型使用NUMBER(m,n),如NUMBER(8,2)等。

●日期、时间型字段使用视情况采用DA TE 型或CHAR型,一般记录日志的日期、时间字段用DA TE型。

如果日期和时间分成两个字段,可以考虑日期采用NUMBER(8),可节省存储空间和提高效率。

●尽量使用V ARCHAR2 (1)代替布尔值●使用CLOB代替LONG,BLOB代替LONG RAW●字段名缩写应有专门英文单词缩写表进行统一维护3.5.2.列长度应当根据实际需要选择列长度。

有对应web 页面的,与页面上对应列长度一致。

对数据长度的验证除数据库端实现外还要尽可能在表现层控制。

3.6. 索引●索引名统一为IDX_TableName[_x],例如IDX_TR_CUST_INFO 或IDX_M_OPLOG_2●每张表的索引不超过4个●复合索引的列不超过4个●分区表的索引统一建成本地索引(即建索引时,加LOCAL)●对于表中的数据记录频繁地被删除或插入,对这些表要经常性重建索引,使用Alter index rebuild命令。

3.7. 主键主键名统一为PK_TABLENAME3.8. 外键外键名统一为FK_TABLENAME[_X]4.表分析定期对所有的表和索引进行分析,可提高查询的性能。

ANALYZE TABLE TabName COMPUTE STA TISTICS;ANALYZE INDEX IndexName COMPUTE STA TISTICS;可写个后台定时脚本,每天晚上对用户表和索引进行一次全面的分析。

相关文档
最新文档