首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

mysql执行多表查询,大数据,sql该如何写

2013-11-19 
mysql执行多表查询,大数据,sql该怎么写。假设两个表AB。两个表结构相同。现在要取出A表的所有字段和B表的set,

mysql执行多表查询,大数据,sql该怎么写。
假设两个表   A  B。两个表结构相同。现在要取出A表的所有字段和B表的set,rutime字段。两个表的ID相同。   

因为数据量比较大,两个表在100w左右,之后还可能会有多个这样大的表。
我在phpmyadmin中拿

select * from A as a,B as b where a.haoma = b.haoma

测试的时候就已经跑死掉了。哪位大虾帮助写一下这个sql
[解决办法]
haoma 是主键么,如果不是的话建立索引试试。
[解决办法]
select * from A as a,B as b where a.haoma = b.haoma
只要在 haoma 上都建有索引,查询只是瞬间的事情
但是输出可是要很花一些时间的!
你把100万条记录都打印出来吗?显然是脑袋有毛病了
[解决办法]
直接
insert into c(......) 
select ecs_ershi.* ,ecs_erjiu.set 
from ecs_ershi inner join ecs_erjiu on ecs_ershi.haoma=ecs_erjiu.haoma 
limit 0,29
即可, 

不要输出。。。
[解决办法]

引用:
select * from A as a,B as b where a.haoma = b.haoma
只要在 haoma 上都建有索引,查询只是瞬间的事情
但是输出可是要很花一些时间的!
你把100万条记录都打印出来吗?显然是脑袋有毛病了

膜拜大神,我是来拿分的。
[解决办法]
这个应该体现出来索引的作用了。查询上百万条的记录很慢了。
[解决办法]
1.上面说的,建立有效的索引
2.如果数据量以后还会增加的话建立分表
3.表的结构涉及到字符比较长的独立出来新表中
4.查询使用存储过程来实现
[解决办法]
desc select * from A as a,B as b where a.haoma = b.haoma给表加上索引,就很快的,如果有where条件查询,可以加上全文索引。

热点排行