1.删除重复数据
-- 1查找表中多余的重复记录,重复记录是根据单个字段(Lot)来判断
select
*
from table E
where E.Lot in
(
select Lot
from table
WHERE OUTERBARCODE='141-H2852A20210220XY4530001004154#13243.5#21022001' and TRANSFERNAME='MC20210312006' --and LOT='S210210J3-2774'
group by Lot having count(Lot) > 1
)AND E.OUTERBARCODE='141-H2852A20210220XY4530001004154#13243.5#21022001' and E.TRANSFERNAME='MC20210312006' --and LOT='S210210J3-2774'
--2、删除表中多余的重复记录,重复记录是根据单个字段(Lot)来判断,只留有rowid最小的记录
delete
from table E
where E.Lot in
(
select Lot
from table
WHERE OUTERBARCODE='141-H2852A20210220XY4530001004154#13243.5#21022001' and TRANSFERNAME='MC20210312006' -- and LOT='S210210J3-2774'
group by Lot having count(Lot) > 1
)
and rowid not in
(
select min(rowid) from table
WHERE OUTERBARCODE='141-H2852A20210220XY4530001004154#13243.5#21022001' and TRANSFERNAME='MC20210312006' --and LOT='S210210J3-2774'
group by Lot having count(Lot)>1
)
2 创建索引
1 执行计划的常用列字段解释
基数(Cardinality):Oracle 估计的当前操作的返回结果集行数
字节(Bytes):执行该步骤后返回的字节数
耗费(COST)、CPU 耗费:Oracle 估计的该步骤的执行成本,用于说明 SQL 执行的
代价,理论上越小越好(该值可能与实际有出入)
时间(Time):Oracle 估计的当前操作所需的时间:
2 查看执行计划 F5
缩进最多的最先执行;(缩进相同时,最上面的最先执行)。
3 表访问的几种方式(非全部):
• TABLE ACCESS FULL(全表扫描)
• TABLE ACCESS BY INDEX ROWID(通过 ROWID 的表存取)
• TABLE ACCESS BY INDEX SCAN(索引扫描)
4 索引命名规范
【强制】主键索引名为 pk_表名_字段名;唯一索引名为 uk_表名_字段名;普通索引名则为 idx_表名_字段名。
5 创建索引:
单一索引:Create Index <Index-Name> On <Table_Name>(Column_Name);
复合索引:Create Index <Index-Name> On emp(deptno,job); —>在emp表的deptno、job列建立索引。
5.1对于复合索引,在Where限制条件中出现所有被索引的列时,优化器会选择走索引;
5.2对于复合索引,在Where限制条件中出现联合索引中前导的列,即创建联合索引时前导的列时,优化器会选择走索引;
5.3对于创建复合索引时,应考虑被索引字段的优先顺序,应将经常作为限制条件的字段放在首位;重复值少,
即高基数(high-cardinaltiy)的列往前靠,而重复值多的字段往后靠;
5.4 Oracle 会读取表中所有的行,并检查每一行是否满足 SQL 语句中的 Where 限制条件;
使用建议:数据量太大的表不建议使用全表扫描,除非本身需要取出的数据较多,占到
表数据总量的 5% ~ 10% 或以上.2TABLE ACCESS BY INDEX ROWID(通过 ROWID 的表存取)
6 索引扫描其实分为两步
6.1 扫描索引得到对应的 ROWID。
6.2 通过 ROWID 定位到具体的行读取数据。
6.3五种索引扫描
• INDEX UNIQUE SCAN(索引唯一扫描)
• INDEX RANGE SCAN(索引范围扫描)
• INDEX FULL SCAN(索引全扫描)
• INDEX FAST FULL SCAN(索引快速扫描)
• INDEX SKIP SCAN(索引跳跃扫描)
参考链接:https://blog.csdn.net/qq_40285302/article/details/81874641