`

创建表的过程(包含表、表空间、主外键、索引、注释),关于索引的理解

 
阅读更多

-- Create table:1.创建一个表
create table ACT_RU_IDENTITYLINK
(
  ID_           NVARCHAR2(64) not null,
  REV_          INTEGER,
  GROUP_ID_     NVARCHAR2(255),
  TYPE_         NVARCHAR2(255),
  USER_ID_      NVARCHAR2(255),
  TASK_ID_      NVARCHAR2(64),
  PROC_INST_ID_ NVARCHAR2(64),
  PROC_DEF_ID_  NVARCHAR2(64)
)
tablespace FTYTH
  pctfree 10
  initrans 1
  maxtrans 255
  storage
  (
    initial 5
    next 1
    minextents 1
    maxextents unlimited
  );

----2.添加注释

comment on table ACT_RU_IDENTITYLINK
  is 'XXXX表';
-- Add comments to the columns
comment on column ACT_RU_IDENTITYLINK.REV_ 
  is '单位名称';
comment on column ACT_RU_IDENTITYLINK.TYPE_  
  is '基本工资*12';
-- Create/Recreate primary, unique and foreign key constraints :3.说明主键和外检
alter table ACT_RU_IDENTITYLINK
  add primary key (ID_)
  using index
  tablespace FTYTH
  pctfree 10
  initrans 2
  maxtrans 255
  storage
  (
    initial 14M
    next 1M
    minextents 1
    maxextents unlimited
  );
alter table ACT_RU_IDENTITYLINK
  add constraint ACT_FK_IDL_PROCINST foreign key (PROC_INST_ID_)
  references ACT_RU_EXECUTION (ID_);
alter table ACT_RU_IDENTITYLINK
  add constraint ACT_FK_TSKASS_TASK foreign key (TASK_ID_)
  references ACT_RU_TASK (ID_);
-- Create/Recreate indexes :4.创建索引。给这个表中的五个字段都创建了索引
create index ACT_IDX_ATHRZ_PROCEDEF on ACT_RU_IDENTITYLINK (PROC_DEF_ID_)
  tablespace FTYTH
  pctfree 10
  initrans 2
  maxtrans 255
  storage
  (
    initial 64K
    next 1M
    minextents 1
    maxextents unlimited
  );
create index ACT_IDX_IDENT_LNK_GROUP on ACT_RU_IDENTITYLINK (GROUP_ID_)
  tablespace FTYTH
  pctfree 10
  initrans 2
  maxtrans 255
  storage
  (
    initial 64K
    next 1M
    minextents 1
    maxextents unlimited
  );
create index ACT_IDX_IDENT_LNK_USER on ACT_RU_IDENTITYLINK (USER_ID_)
  tablespace FTYTH
  pctfree 10
  initrans 2
  maxtrans 255
  storage
  (
    initial 7M
    next 1M
    minextents 1
    maxextents unlimited
  );
create index ACT_IDX_IDL_PROCINST on ACT_RU_IDENTITYLINK (PROC_INST_ID_)
  tablespace FTYTH
  pctfree 10
  initrans 2
  maxtrans 255
  storage
  (
    initial 5M
    next 1M
    minextents 1
    maxextents unlimited
  );
create index ACT_IDX_TSKASS_TASK on ACT_RU_IDENTITYLINK (TASK_ID_)
  tablespace FTYTH
  pctfree 10
  initrans 2
  maxtrans 255
  storage
  (
    initial 4M
    next 1M
    minextents 1
    maxextents unlimited
  );

 

 

下面是关于索引的理解:

第一个人:索引的作用就在于,为某个字段建立了索引之后,查询这个字段里面的数据的时候,效率更高,也就是快, 比如 create index abc on stu(age); 为stu表的age字段建立了索引,那么查询时,select * from stu where age > 10; 这个时候效率就高,主要体现在where语句,where age > 10 ,将age 作为查询的条件,age又加了索引所以高。 索引使数据库程序无需对整个表进行扫描,就可以在其中找到所需数据,也就是当进行查询时,系统先搜索索引,从中找到数据的指针,再直接通过指针,直接定位到数据上,所以快。 缺点: 还有就是需要注意的,索引是查的效率高了,但是在表中插入或更新数据时,将有额外的操作来维护索引,所以其他的效率低了,还有占用存储空间,还有不要建立过多的索引,过多索引引起反作用!


第二个人:加快查询速度,唯一索引可以确定唯一性等等,但不是索引越多越好
 对于查询表越多速度越快,对于经常要更新的表,如果多了,反而会慢,因为要插入之前,先要扫描下索引


第三个人:你查字典,是从第一页开始往后翻呢?还是会按 拼音/部首 索引 查找?


第四个人:数据库会给表里的索引生成索引页 类似字典的目录 加快查询的效率. 不用全表扫描了`. 缺点就是当插入时当索引页不够的话 需要有索引页的IO开销

第五个人:把数据库看作一本书,把索引看作书的目录,这样查找就比较方便,快捷了


第六个人:索引的优缺点
1、表的主键、外键必须有索引;2、数据量超过300的表应该有索引;3、经常与其他表进行连接的表,在连接字段上应该建立索引;4、经常出现在Where子句中的字段,特别是大表的字段,应该建立索引;5、索引应该建在选择性高的字段上;6、索引应该建在小字段上,对于大的文本字段甚至超长字段,不要建索引;7、复合索引的建立需要进行仔细分析;尽量考虑用单字段索引代替:A、正确选择复合索引中的主列字段,一般是选择性较好的字段;B、复合索引的几个字段是否经常同时以AND方式出现在Where子句中?单字段查询是否极少甚至没有?如果是,则可以建立复合索引;否则考虑单字段索引;C、如果复合索引中包含的字段经常单独出现在Where子句中,则分解为多个单字段索引;D、如果复合索引所包含的字段超过3个,那么仔细考虑其必要性,考虑减少复合的字段;E、如果既有单字段索引,又有这几个字段上的复合索引,一般可以删除复合索引;8、频繁进行数据操作的表,不要建立太多的索引;9、删除无用的索引,避免对执行计划造成负面影响;以上是一些普遍的建立索引时的判断依据。一言以蔽之,索引的建立必须慎重,对每个索引的必要性都应该经过仔细分析,要有建立的依据。因为太多的索引与不充分、不正确的索引对性能都毫无益处:在表上建立的每个索引都会增加存储开销,索引对于插入、删除、更新操作也会增加处理上的开销。另外,过多的复合索引,在有单字段索引的情况下,一般都是没有存在价值的;相反,还会降低数据增加删除时的性能,特别是对频繁更新的表来说,负面影响更大。

  • 大小: 54.3 KB
  • 大小: 34.1 KB
  • 大小: 32.7 KB
  • 大小: 395.8 KB
  • 大小: 405.6 KB
分享到:
评论

相关推荐

    建表规范丶SQL规范丶索引规范-word文档

    - 为表和字段添加中文注释,以便后续维护和理解。 #### 二、SQL规范 1. **基础规范**: - 使用InnoDB存储引擎以支持事务、行级锁,并优化并发性能。 - 使用UTF8字符集以避免乱码风险。 - 数据表、数据字段必须...

    用友U9数据字典,数据库结构

    1. 表结构:用友U9数据字典首先展示了系统的表结构,包括主表、子表和关联表。这些表格承载着企业的核心业务数据,如客户信息、订单详情、库存状态等。 2. 字段定义:每个表都包含多个字段,数据字典会明确指出每个...

    Powerdesigner把表结构导出成word.docx

    3. 配置导出选项,如是否包含索引、外键、注释等。点击“Next”(下一步)并确认设置无误后,选择保存的路径和文件名,格式选择“Microsoft Word Document (.docx)”。 4. 点击“Finish”(完成)后,PowerDesigner...

    数据库与表的创建及使用PPT学习教案.pptx

    1. **数据字典**:数据字典是数据库中存储关于数据元数据的地方,包括字段的标题、注释、默认值、输入掩码、显示格式、表的主索引关键字、表间关系、长表名、字段和记录的规则,以及存储过程和触发器等。 2. **...

    数据库设计约定.pdf

    2. 外键:禁止数据库表间的主外键关联,依赖应用程序来维护数据完整性和一致性,特殊情况除外。 3. 命名规则:表名前缀表示业务模块,字段名采用下划线分隔,便于理解。 4. 公共字段:每张表应包含创建时间和更新...

    oracle常用系统视图+导入导出

    2. `DBA_OBJECTS`:包含数据库中的所有对象信息,包括对象类型、所有者和创建日期。 3. `USER_TABLES`:列出当前用户的表信息。 4. `V$SESSION`:实时显示当前会话的状态和信息。 5. `ALL_INDEXES`:展示所有用户...

    mysql表结构同步[源代码]

    首先,我们需要了解MySQL数据库表结构包括的基本元素:表名、字段(列)、数据类型、约束(如主键、外键、唯一性约束等)、索引以及存储引擎等。这些元素的变更都需要同步到其他数据库实例以保持一致性。 在.NET...

    主从表模糊查询delphi 数据库

    在这个模式下,主表通常包含一组“父”记录,从表则关联着主表的特定记录,形成“子”记录。模糊查询则是用户在搜索数据时,允许使用部分关键字或通配符进行不精确匹配的方法。 在Delphi中实现主从表模糊查询,你...

    Oracle数据库表结构导出工具Excel

    4. **导出选项**:描述可以自定义的导出设置,如是否包含注释、触发器、存储过程等,并可以选择导出的字段格式。 5. **执行导出**:指导用户如何启动导出过程,以及导出后的文件保存位置和文件格式。 6. **错误...

    SQLServer数据库设计规范.txt

    pk+表名+主键标识 2.10 外键 fk+表名+主表名+外键标识 2.11 索引 idx+字段标识 2.12 Default df+Default标识 3 编程结构和描述 SQL SERVER系统中,一个批处理是从客户传给服务器的一个完整的包,可以包含若干条SQL...

    大型关系数据库期末参考试题.docx

    大型关系数据库期末参考试题 ...综上所述,这个期末参考试题涵盖了SQL Server 2005的基础概念、数据库管理、查询语言、表连接、索引优化以及存储过程等多个方面,全面检验了学生对大型关系数据库的理解和应用能力。

    sql server系统表的说明

    `sysobjects`, `syspermissions`, `systypes`, `sysusers`, `syscomments`: 这些表分别提供了数据库中列、约束、文件组、文件、外键、索引、角色成员、所有对象、权限、用户定义数据类型、用户和注释的详细信息,...

    收获不知Oracle

    5.2.1.8 不可不说的主外键设计265 5.2.1.9 组合索引高效设计要领272 5.2.1.10变换角度看索引的危害289 5.2.1.11如何合理控制索引数量295 5.2.2 位图索引的玫瑰花之刺 297 5.2.2.1 统计条数奋勇夺冠297 5.2.2.2 即席...

    精通sql结构化查询语句

    23.5.3 创建系统运行的表 23.5.4 创建留言显示模块 23.5.5 创建留言添加模块 23.5.6 进入留言管理模块 23.5.7 创建留言修改模块 23.5.8 创建留言删除模块 23.6 小结 5.2.2 创建非簇索引 5.2.3 创建簇索引 5.2.4 创建...

    数据库表概要设计.pdf

    - **order_detail**:订单详情表,记录每笔订单包含的商品信息,`detail_id`为主键,`order_id`为外键关联订单主表。 - **seller_info**:卖家信息表,包括`id`主键、用户名、密码和开放ID。 7. **特殊表设计**:...

    SQL数据库试题及答案

    9. 视图和索引:视图是虚表,基于基本表,但索引的创建不仅与数据存储有关,还与查询优化策略有关。 10. 实现值域完整性:规则(rule)不是实现值域完整性的途径,其他选项如主键、NOT NULL和检查约束(CHECK)都是...

    一卡通数据库表结构.pdf

    主键命名为`PK_表名`,外键关系为`FK_主表_从表`,索引为`IDX_列名`,复合索引用下划线分隔列名。SQL语句的编写要遵循关键字大写的原则,长语句可适当换行,以提高可读性。 此外,本文档还列举了一些常用的术语和...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    在创建表时,经常会创建该表的主键、外键、唯一约束、Check约束等  语法结构 create table 表名( [字段名] [类型] [约束] ……….. CONSTRAINT fk_column FOREIGN KEY(column1,column2,…..column_n) ...

    精通SQL--结构化查询语言详解

    15.3.5 使用enterprise manager创建存储过程和函数 315 15.3.6 修改和删除存储过程和函数 317 15.4 oracle中的流控制语句 319 15.4.1 条件语句 319 15.4.2 循环语句 320 15.4.3 标号和goto 322 15.5 oracle...

    Oracle 语句优化

    簇扫描通常适用于表之间存在主外键关系,并且这些表经常一起查询的情况。它通过物理上将相关的表存储在一起,来减少I/O操作。 8. /*+INDEX(TABLE, INDEX_NAME)*/:此Hint强制优化器使用指定表的索引进行数据访问。...

Global site tag (gtag.js) - Google Analytics