mysql inner join 性能问题 最近在改项目代码过程中发现一个很有趣的问题,用inner join关联表时,如果ON关键字后直接用[字段一]=[字段二]数据查询非常快,但是如果用on function(字段一)=function(字段二)则超级慢,为什么加了函数后性能差别就那么大了。。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在字段上做任何操作就是全表扫描。逻辑上很清楚,where function(字段) = 1这样一个条件语句,sql必须先对字段执行function,才能确定等式是否成立,这样就必须扫描每一行的这个字段,执行function.而where 字段=1,在字段建立索引的情况下,就很快,因为索引是和字段本身的值挂钩的,而非function(字段)的值 没仔细想,以上答案和lz的问题有些不一样的地方on on function(字段一)=function(字段二)慢的原因是没用到索引扫描。而 on 字段一 = 字段二 就用到了。 php soap错误 Fatal error: Uncaught SoapFault exception: [HTTP] Internal Server Err 电脑摇号实现原理 求PHP取出MYSQL视图 的视图结构 php获取checkbox的值 大家推荐个同步工具 php与mysql 请问如何从把unicode编码转化为中文 无法运行Zend Studio Client V3.5.1 初学者的简单问题 高手请教! php,3des加密解密 短域名写cookie的问题 日期显示格式的问题(急!!!)
逻辑上很清楚,where function(字段) = 1这样一个条件语句,sql必须先对字段执行function,才能确定等式是否成立,这样就必须扫描每一行的这个字段,执行function.
而where 字段=1,在字段建立索引的情况下,就很快,因为索引是和字段本身的值挂钩的,而非function(字段)的值
而 on 字段一 = 字段二 就用到了。