Heim > Datenbank > MySQL-Tutorial > A表上百万数据,B库百条数据,查询有B条件的所有A的数据

A表上百万数据,B库百条数据,查询有B条件的所有A的数据

WBOY
Freigeben: 2016-06-07 15:08:14
Original
1567 Leute haben es durchsucht

问题: 问题是这样的,表A 140万条 数据 ,表B 临时表 350条 数据 , 我现在用这样的 查询 语句, select * from A where exists (select 1 from B where B.batchno=A.batchno) A,B表靠batchno字段关联,字段类型为varchar(50),其中A表的batchno建了索引 数据 库

问题:

问题是这样的,表A 140万条数据,表B 临时表 350条数据,
我现在用这样的查询语句, select * from A where exists (select 1 from B where B.batchno=A.batchno)
A,B表靠batchno字段关联,字段类型为varchar(50),其中A表的batchno建了索引
数据库为sql server 2000, 查询时间大概在23-30之间,有没有办法做些优化处理?


解决:

不要用两个表的连接
先把B表中的batchno
用select batchno from B
查出来
组成字符串(batchno1,batchno2,batchno3,batch4,......)
再select * from A where batchno int(batchno1,batchno2,batchno3,batch4,......)

最近做的一个项目里要处理日志记录,日志表好几百万条,我用连接查询半天出不来
后来分开一个一个表查,把限制条件先保存就快多了




原地址:http://topic.csdn.net/u/20090523/16/9e891fda-72dc-4417-b554-22edfde7e437.html?52778
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage