删除重复值【根据两个字段判断】(只保留一个)&查看执行计划&统计信息
2014-05-15 11:27
555 查看
delete a fromStockPartCodea
where exists
(select*from(selectStockCode,PartCodefromStockPartCode
group byStockCode,PartCodehavingcount(*)>
1)b
where a.StockCode=b.StockCode
and a.PartCode=b.PartCode)
and a.StockPartCodeIdnotin(selectmin(StockPartCodeId)fromStockPartCodegroupbyStockCode,PartCodehavingcount(*)>1)
order by
StockCode,PartCode
//////查看是否使用执行计划http://www.cnblogs.com/WizardWu/p/4052951.html
SELECT cacheobjtype, objtype, usecounts, sql FROM sys.syscacheobjects
WHERE sql LIKE '%cache%' AND sql NOT LIKE '%sys.%'
///统计信息STATISTICS
统计信息一般系统会自动更新,_WA_Sys开头的是系统自动建立的统计信息,也可给未建索引的列手动创建CREATE STATISTICS,,也可通过 sp_createstats 系統「系统存储过程序(stored procedure)」,直接将数据库的所有表,全部建立统计信息。
执行 UPDATE STATISTICS 指令,可对某个表,或是直接指定索引或「统计」做更新,而 sp_updatestats ,可以对指定表,更新所有相关的统计信息。
where exists
(select*from(selectStockCode,PartCodefromStockPartCode
group byStockCode,PartCodehavingcount(*)>
1)b
where a.StockCode=b.StockCode
and a.PartCode=b.PartCode)
and a.StockPartCodeIdnotin(selectmin(StockPartCodeId)fromStockPartCodegroupbyStockCode,PartCodehavingcount(*)>1)
order by
StockCode,PartCode
//////查看是否使用执行计划http://www.cnblogs.com/WizardWu/p/4052951.html
SELECT cacheobjtype, objtype, usecounts, sql FROM sys.syscacheobjects
WHERE sql LIKE '%cache%' AND sql NOT LIKE '%sys.%'
///统计信息STATISTICS
统计信息一般系统会自动更新,_WA_Sys开头的是系统自动建立的统计信息,也可给未建索引的列手动创建CREATE STATISTICS,,也可通过 sp_createstats 系統「系统存储过程序(stored procedure)」,直接将数据库的所有表,全部建立统计信息。
执行 UPDATE STATISTICS 指令,可对某个表,或是直接指定索引或「统计」做更新,而 sp_updatestats ,可以对指定表,更新所有相关的统计信息。
相关文章推荐
- mysql删除重复的数据,保留一条,根据多个字段判断。以及统计重复数据
- mysql查询根据一个字段或者两个字段内容重复的记录并将其全部删除
- [LeetCode]Merge Two Sorted Lists & Remove Duplicates from Sorted List 两个有序链表合并为一个&删除链表重复元素
- 如何在sqlplus中查看oracle数据库sql语句执行计划,执行时间和统计信息
- [sql]删除重复的字段,保留一个。
- 删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowid最小的记录
- 删除表中多余的重复记录,重复记录是根据单个字段(Id)来判断,只留有id最小的记录
- 数据库表中有重复记录,如何删除这些重复记录保留ID最大的一个信息
- 高性能可扩展mysql(执行计划,索引分析优化改写,删除重复数据,区间统计,满查询日志)
- 一次ORA-4030问题诊断及解决【解决思路不错,说明了对象的统计信息与优化器的优化操作(即选择执行一个SQL语句在该优化参数环境下最佳的执行计划)间的关系】
- 删除表中多余的重复记录,重复记录是根据单个字段(Id)来判断,只留有rowid最小的记录
- oracle查看sql执行计划和统计信息
- mysql 根据字段重复 删除 保留一条
- MySQL根据某一个或者多个字段查找重复数据,并且保留某字段值最大的记录
- 删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowid最大的记录
- Oracle 删除重复数据只留一条 查询及删除重复记录的SQL语句 1、查找表中多余的重复记录,重复记录是根据单个字段(Id)来判断 select * from 表 wher
- 在Oracle的SQL*PLUS中启用AutoTrace查看SQL执行计划和统计信息
- oracle中删除表中某字段出现重复的信息 保留其中一条
- oracle查看sql执行计划和统计信息
- SqlServer-删除某一个字段重复的记录,只保留一条