创建表create table test
(
c_id varchar2(40) default SYS_GUID(),
c_name varchar2(40), --1
c_cid varchar2(40),
c_password varchar2(40), --2
c_sex varchar2(40), --3
c_address varchar2(40), --4
c_truename varchar2(40), --5
c_company varchar2(40), --6
c_email varchar2(40), --7
c_field1 varchar2(40), --8
c_field2 varchar2(40), --9
c_field3 varchar2(40), --10
C_CRT_CDE varchar2(40),--11
C_CRT_DATE date default sysdate, --12
C_UPD_CDE varchar2(40), --13
C_UPD_DATE date default sysdate, --14
c_del varchar2(1) default '0'--15
)
创建存储过程
create or replace procedure p_tb_test
(
total in integer,
cname in varchar2, --1
ccid in varchar2,
cpassword in varchar2,--2
csex in varchar2,
caddress in varchar2,
ctruename in varchar2, --5
ccompany in varchar2, --6
cemail in varchar2, --7
cfield1 in varchar2, --8
cfield2 in varchar2, --9
cfield3 in varchar2, --10
CCRT_CDE in varchar2,--11
CUPD_CDE in varchar2 --13
) AS
uuid number := 1;
begin
loop
insert into test
(c_name,
c_cid,
c_password,
c_sex,
c_address,
c_truename,
c_company,
c_email,
c_field1,
c_field2,
c_field3,
C_CRT_CDE,
C_UPD_CDE
)
values
(cname||uuid,
ccid||uuid,
cpassword,
csex,
caddress,
ctruename,
ccompany,
cemail,
cfield1,
cfield2,
cfield3,
CCRT_CDE,
CUPD_CDE
);
--commit;
uuid := uuid + 1;
exit when uuid >= total;
end loop;
end;
call(); -- 调用
影响项目性能的很大因素在于SQL的写法,当然这得建立在表结构都设计得非常的好的基础上,设计我没有什么经验就先不谈了。高质量高效能的SQL会给项目带来高性能,也会给人带来身心上的愉悦,不会因为项目性能问题辗转反侧抓破头皮。数据库方面的技术也有很多。然而现在项目中涉及到的无非就是对数据库的CRUD操作,当然对于CUD都有很好的解决方案,最明显最有效的的一个解决方案就是批处理,当然采用批处理得符合一定的条件,否则达不到想要的效果,有关批处理的知识,我的另外一篇文章有所介绍,在这里就不一一细说了。回到主题上,SQL查询优化,这里只对CRUD中的R进行详述,我借鉴网上的资料然后通过实验去验证别人的说法以达到提高自己技能的目的。
要想测试验证别人的说法,得构造一个环境,数据量少说也得上百万才能看出效果。
A(C_A1,C_A2,C_A3,C_A4,C_A5,C_A6,C_CRT,C_CRT_DATE,C_UP,C_UP_DATE,C_DEL)
C(C1,A1,B1,C2,C3,C4,C5,C6,C7,C8,C9)
2 见证查询优化时刻
有时候一个表中的数据量很大时候,索引是非常非常的重要,何为索引?我来举个例子,你一听就能明白,比如:你想搜索我的电脑中一个名字为FILE.TXT 文件,如果不知道该文件所在的目录(没有创建索引)情况下,基本上要扫描我的电脑中的所有盘符里的文件,如果你的硬盘中的有很多文件(相当一个表中有很多的数据),基本上是一个全盘扫描的过程,这时如果你告诉搜索,你的文件就在D盘的TEST目录下,这样来搜索速度将会大大的提高,给文件定位就相当一个索引。
select * from A where R1 =1 and R3 =3 and R4;
按道理它走的索引是IDX_R3,有时候默认走的索引并不是你想象中的那样,特别是多表关联的情况下。所以我们进行指定一下索引,按我们真正想要的走的索引
select /*+ index(R1,IDX_R3) */* from A where R1 =1 and R3 =3 and R4;
使用查询处理器执行SQL语句,在一个表上,一次只能使用一个索引
索引?给一个列建索引和给多个列建一个索引,数据库怎么处理的?
建一个索引性能区别?
注意指定走哪条索引的写法?[/size]
分享到:
相关推荐
数据库索引设计与优化是数据库管理系统中至关重要的一个环节,它直接影响到数据查询的效率、存储空间的使用以及系统的整体性能。在这个主题中,我们将深入探讨数据库索引的基础概念、设计原则、优化策略以及实际应用...
《数据库索引设计与优化》提供了一种简单、高效、通用的关系型数据库索引设计方法。作者通过系统的讲解及大量的案例清晰地阐释了关系型数据库的访问路径选择原理,以及表和索引的扫描方式,详尽地讲解了如何快速地...
数据库索引重建及修复语句
高清完整版 数据库索引设计与优化 高清完整版 数据库索引设计与优化
数据库索引设计原则 数据库索引设计原则是 Oracle 数据库管理系统中的一项重要技术,旨在提高数据库的查询效率和性能。以下是数据库索引设计原则的详细解释。 一、基本原则 数据库索引设计原则的基本原则是确保...
数据库索引技术是数据库管理系统中的核心组成部分,它极大地提高了数据查询效率,使得在海量数据中查找特定信息变得迅速。下面将分别对标题和描述中提到的各个知识点进行详细阐述。 首先,我们来看“文件记录的组织...
《数据库索引设计与优化》提供了一种简单、高效、通用的关系型数据库索引设计方法。作者通过系统的讲解及大量的案例清晰地阐释了关系型数据库的访问路径选择原理,以及表和索引的扫描方式,详尽地讲解了如何快速地...
首先,B-Tree是数据库索引常用的数据结构之一,尤其在关系型数据库中广泛应用。B-Tree(B树)是一种自平衡的树,能够保持数据有序。它不同于二叉树,每个节点可以有多个子节点,通常用于存储大量数据,特别是磁盘等...
B树结构是数据库索引中最常用的结构之一。在B树中,每个节点可以包含多个键值和相应的子节点指针。这种结构的特点是可以快速定位到所需的键值,从而大大提升了查询效率。对于聚簇索引而言,B树的叶子节点包含完整的...
数据库索引设计与优化.part2数据库索引设计与优化.part2数据库索引设计与优化.part2数据库索引设计与优化.part2数据库索引设计与优化.part2数据库索引设计与优化.part2数据库索引设计与优化.part2数据库索引设计与...
【数据库索引】是数据库管理系统中用于加速数据检索的一种数据结构。索引好比书籍的目录,能够快速定位到所需的数据行。根据物理存储方式,索引分为【聚簇索引】和【非聚簇索引】。聚簇索引是按照数据的实际存储顺序...
### Oracle数据库索引的维护 在Oracle数据库管理与优化的过程中,索引的维护是非常关键的一环。合理地创建、管理和优化索引能够显著提高查询性能,降低系统的响应时间,从而提升整个应用程序的效率。本文将从Oracle...
数据库索引设计与优化.part1数据库索引设计与优化.part1数据库索引设计与优化.part1数据库索引设计与优化.part1数据库索引设计与优化.part1数据库索引设计与优化.part1数据库索引设计与优化.part1数据库索引设计与...
数据库索引作为数据库管理系统(DBMS)中的关键技术之一,其作用在于优化数据的检索速度和确保数据的唯一性。本文将深入探讨数据库索引的优缺点,以及如何在实际操作中合理地运用索引来提升数据库性能。 ### 数据库...