mysql left join 巨慢 right join 正常
简单的两个table join,用right join时表现正常,用left join奇慢无比。哪位大虾能指点下有可能是什么问题?
谢谢!
感覺效果是一樣的。
如果A LEFT JOIN B很慢
那你試試B RIGHT JOIN A
最好反復試幾次,就可以知道了。
表结构和数据都是怎么样的?最简单的连接吗?有其它条件没有
2张表的数据量如何,2次连接之后结果集各是多少行数?
楼主真是勤快,5点就起床了...
mysql的链接很傻B,如果不指定连接条件,mysql会做笛卡尔积!速度肯定慢啊、、
两个表结构很简单,做的也是简单的链接
表a为创建的临时表
CREATE TEMPORARY TABLE a (word VARCHAR(8) NOT NULL,O DOUBLE NOT NULL, OE DOUBLE NOT NULL, score DOUBLE NOT NULL, PRIMARY KEY (word));
表b为已存在的简单表,两个表的数据量一个为65536,另外一个是4000多;都应该是瞬间完成的吧。我是mysql菜鸟。。。完全想不出为什么。。。
SELECT c.word, tp.SlnSES, c.score from tmp_table AS c LEFT JOIN 8_5utr AS tp USING (word);
谢谢各位!
不是没on 吗?
怎么连接表条件没有啊,,,,就会变成上面所说的做笛卡尔积
65536*4000条,,,不慢很奇怪拉,,,
用USING不可以么?我试过ON,一样很慢(慢到都是我直接CTRL C 结束运行。。。)。
但为什么同样的句子,改成RIGHT JOIN就速度变快了呢
应该是你的左表很大,导致的.
SQL code:
例表a
aid adate
1 a1
2 a2
3 a3
相关问答:
我是用mysql自带的C API
if(mysql_real_connect(&mysql,"125.0.0.108","root","root","home",3306,NULL,0))
{
AfxMessageBox("数据库连接失败") ......
CREATE DATABASE ADDRESSLIST;
USE ADDRESSLIST;
DROP TABLE IF EXISTS FRIEND;
CREATE TABLE FRIEND
(FRIEND_ID INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY ,
FRIEND_NAME VARCHAR(20) NOT N ......
PHPCMS企业黄页2008分页问题
我用以下方式求平均数
{get sql="SELECT DISTINCT c.*,
(select round(avg(sort1)) from `phpcms_yp_dp` where userid=c.userid) avgsort1,
(select round(avg(avgp ......
原帖请看
http://topic.csdn.net/u/20100115/09/98c6ac75-d6fe-4b6c-90dc-336a738a0c0f.html?14601
总结下就是
apache php mysql 我全部都用的是gb2312,有什么办法可以不用每次mysql_query('SET character_set_r ......