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("数据库连接失败") ......
在安装Java编译器的Eclipse的时候,对环境变量进行了配置,在安装MySQl的时候也要对环境变量进行配置;那么后面的配置会影响前面的Eclipse的配置吗?
请大家多指教~!谢谢!
不会把,我这都装了的 我系统里 还装了 ......
有个winform程序,使用c#+mysql,需要在一个窗体设置mysql自动删除功能,包括自动删除多少天之前的数据以及是否开启自动删除功能,我程序退出后,还怎么控制Mysql自己删除啊?是不是要用mysql的event来实现?c#可以调用mysq ......
我在清理mysql的时候,一不留神将mysql(即data里的mysql文件夹)数据库给删掉了,隔了几个小时我重启了mysql软件,mysql就自动初始化了数据库,导致从删除mysql文件夹开始到重启这段时间的数据丢失,那位高手帮想想办 ......
表
CREATE TABLE `ch1` (
`id` int(10) unsigned zerofill NOT NULL AUTO_INCREMENT,
`no` int(10) unsigned DEFAULT NULL,
`dtime` datetime DEFAULT NULL,
PRIMARY KEY (`id ......