我写得sql如下:
select * from T_00_EXPO2_DZ_MX X where (select count(1) from T_00_EXPO2_DZ_MX Y where X.ticket_seqno=Y.ticket_seqno
and X.dz_stat='1' and Y.dz_stat='1')>1;
但是由于表中数据有200万条,查询速度慢,大家有没有更好的办法
select * from T_00_EXPO2_DZ_MX X where (select count(1) from T_00_EXPO2_DZ_MX Y where X.ticket_seqno=Y.ticket_seqno
and X.dz_stat='1' and Y.dz_stat='1')>1;
但是由于表中数据有200万条,查询速度慢,大家有没有更好的办法
解决方案 »
- plsql 查询后如何不显示空列?
- oracle触发器中NEW_VALUE和OLD_VALUE的问题。。谢谢大家了
- 初学oracle,遇到下面问题,请求帮助
- 下面oracle自定义函数转换为sql server函数
- trim函数索引,查询的时候为什么不使用
- 请问WINDOWS上ORACLE的AGENT服务在UNIX上是什么命令实现的
- 高分求SQL语句,急啊~~~
- 怎样改变资料库数据文件的建立目标位置呢?我目前的DB_CREATE_FILE_DEST已经改变了,
- 如何让下面的语句快速执行?非高手别进来。
- 求rman 定时备份脚本
- 求助Sql在線等。。。
- 在线等。。。。java中jdbc插入时将String转换成CLOB
where exists (select dz_stat from T_00_EXPO2_DZ_MX Y
where Y.dz_stat = X.dz_stat and Y.dz_stat = '1' and Y.rowid != X.rowid);
where (
select count(1) from T_00_EXPO2_DZ_MX Y
where X.ticket_seqno=Y.ticket_seqno
and X.dz_stat='1'
and Y.dz_stat='1'
)>1 没头没尾呀,给个执行计划,看看你是不是缺少索引?
参考一下这个贴子的提问方式http://topic.csdn.net/u/20091130/20/8343ee6a-417c-4c2d-9415-fa46604a00cf.html
1. 你的 create table xxx .. 语句
2. 你的 insert into xxx ... 语句
3. 结果是什么样,(并给以简单的算法描述)
4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试。
where ticket_seqno in (select ticket_seqno
from T_00_EXPO2_DZ_MX
group by ticket_seqno
having count(1)>1
);
CREATE TABLE FAPDB.T_00_EXPO2_DZ_MX
(
FILENAME VARCHAR2(100 BYTE),
POST_AGENT VARCHAR2(10 BYTE),
REC_NUM NUMBER(8),
DZ_STAT VARCHAR2(1 BYTE),
EXPO_CODE VARCHAR2(4 BYTE),
BRCH_AGENT VARCHAR2(10 BYTE),
SAM_NO VARCHAR2(8 BYTE),
DEV_SEQNO VARCHAR2(10 BYTE),
TICKET_SEQNO VARCHAR2(10 BYTE),
EXPO_TICKKIND VARCHAR2(2 BYTE),
EXPO_DATE VARCHAR2(8 BYTE),
TICKET_PRICE NUMBER(12,2),
SALE_TYPE VARCHAR2(2 BYTE),
SALE_CHANNEL VARCHAR2(2 CHAR),
PAY_TYPE VARCHAR2(2 BYTE),
SALE_FLAG VARCHAR2(1 BYTE),
DEV_TIME VARCHAR2(14 BYTE),
OPER_NO VARCHAR2(8 BYTE),
PROMOTION_PRICE NUMBER(7,2),
PROMOTION_KIND VARCHAR2(4 BYTE),
TAC_CODE VARCHAR2(8 BYTE),
TZ_BRCH_AGENT VARCHAR2(10 BYTE),
TZ_SAM_NO VARCHAR2(8 BYTE),
TZ_DEV_SEQNO VARCHAR2(10 BYTE),
TZ_TICKET_SEQNO VARCHAR2(10 BYTE),
TZ_EXPO_TICKKIND VARCHAR2(2 BYTE),
TZ_EXPO_DATE VARCHAR2(8 BYTE),
TZ_TICKET_PRICE NUMBER(12,2),
TZ_SALE_TYPE VARCHAR2(2 BYTE),
TZ_SALE_CHANNEL VARCHAR2(2 BYTE),
TZ_PAY_TYPE VARCHAR2(2 BYTE),
TZ_SALE_FLAG VARCHAR2(1 BYTE),
TZ_DEV_TIME VARCHAR2(14 BYTE),
TZ_OPER_NO VARCHAR2(8 BYTE),
TZ_PROMOTION_PRICE NUMBER(7,2),
TZ_PROMOTION_KIND VARCHAR2(4 BYTE),
TZ_TAC_CODE VARCHAR2(8 BYTE),
TZ_CHECKSTAT VARCHAR2(2 BYTE) DEFAULT 0
)
TABLESPACE FAPDBSPACE
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 64K
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
)
LOGGING
NOCOMPRESS
NOCACHE
NOPARALLEL
MONITORING;
CREATE INDEX FAPDB.I_00_EXPO2_CODE ON FAPDB.T_00_EXPO2_DZ_MX
(EXPO_CODE)
LOGGING
TABLESPACE FAPDBSPACE
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
)
NOPARALLEL;
CREATE INDEX FAPDB.I_00_EXPO2_FILENAME ON FAPDB.T_00_EXPO2_DZ_MX
(FILENAME)
LOGGING
TABLESPACE FAPDBSPACE
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
)
NOPARALLEL;