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万条,查询速度慢,大家有没有更好的办法
8 个解决方案
#1
select * from T_00_EXPO2_DZ_MX X
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 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);
#2
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
没头没尾呀,给个执行计划,看看你是不是缺少索引?
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
没头没尾呀,给个执行计划,看看你是不是缺少索引?
#3
建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
参考一下这个贴子的提问方式 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)
这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试。
参考一下这个贴子的提问方式 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)
这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试。
#4
select * from T_00_EXPO2_DZ_MX X
where ticket_seqno in (select ticket_seqno
from T_00_EXPO2_DZ_MX
group by ticket_seqno
having count(1)>1
);
where ticket_seqno in (select ticket_seqno
from T_00_EXPO2_DZ_MX
group by ticket_seqno
having count(1)>1
);
#5
楼上的,怎么老是这个东东!
#6
建表语句
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;
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;
#7
蹭分
#8
谢谢shiyiwan
#1
select * from T_00_EXPO2_DZ_MX X
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 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);
#2
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
没头没尾呀,给个执行计划,看看你是不是缺少索引?
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
没头没尾呀,给个执行计划,看看你是不是缺少索引?
#3
建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
参考一下这个贴子的提问方式 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)
这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试。
参考一下这个贴子的提问方式 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)
这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试。
#4
select * from T_00_EXPO2_DZ_MX X
where ticket_seqno in (select ticket_seqno
from T_00_EXPO2_DZ_MX
group by ticket_seqno
having count(1)>1
);
where ticket_seqno in (select ticket_seqno
from T_00_EXPO2_DZ_MX
group by ticket_seqno
having count(1)>1
);
#5
楼上的,怎么老是这个东东!
#6
建表语句
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;
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;
#7
蹭分
#8
谢谢shiyiwan