`
liusp_eye
  • 浏览: 9743 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

MYSQL性能问题之一:=号左边的TRIM

阅读更多
    个人博客:http://www.hpgy.net/blog/12345679/5/277_1.html

    在谷歌上搜索,会发现ORACLE的SQL句中如果=号左边有trim函数会严重影响SQL的性能,今天发现在MYSQL中也是如此。

       最近在对公司会员月度产品销售明细进行统计时,关联的几个表中都有7到11万数据,开始SQL执行性能没问题,后来发

现分组计算的结果老有问题,于是就对表关联条件加上了TRIM函数,结果发现SQL执行起来特慢,有时候几个小时都没反

应,也可能与某个时段MYSQL服务器性能低下有关,但总之该条SQL的性能有严重的问题了。数据统计正确后一直没时间去

处理这个性能问题,今天有闲暇的时间,就对这个SQL反复测试,想想前后SQL语句修改的变化,结果发现正是在等号左边

加了TRIM函数引起的,去掉TRIM函数,统计结果立即就出来了。

     所以大家以后一定要注意,不要犯象我这样的错误。

分享到:
评论

相关推荐

    技巧:MyBatis 中的trim标签,好用!.zip

    技巧:MyBatis 中的trim标签,好用!.zip技巧:MyBatis 中的trim标签,好用!.zip技巧:MyBatis 中的trim标签,好用!.zip技巧:MyBatis 中的trim标签,好用!.zip技巧:MyBatis 中的trim标签,好用!.zip技巧:...

    delphi验证码.zip

    strResult := strResult + trim(CodeChar[Random(563)]); end; vLeft := 10; img.picture := nil; //画随机直线 for i := 0 to 360 do begin Randomize; img.Canvas.Pen.Color := MakeColor...

    Delphi 简单获取Windows时间的例子.rar

     hh := StrToInt(Trim(Edit4.Text));  if hh  Ghh := 16 hh  else  Ghh := hh - 8;  with Dtimer do  begin  wYear:=StrToInt(Edit1.Text);  wMonth:=StrToInt(Edit2.Text);  wDay:=StrToInt(Edit3.Text)...

    UDP十六进制数据传输

    strLength := length(ss); for i := 1 to strlength do begin byteTemp := byte((ss[i])); hexOffset := (inttohex(byteTemp, 2)); //肮奻珨曆硒俴眈肮腔髡夔˙ strTemp := strTemp + hexOffset + ' '; end; ...

    字符分割函数,方便分割字符串

    function SplitStringXELJK(const Source: string; const Delimiter: string; var arr:TArray):Boolean ;... stemp:=trim(stemp); if stemp<>'' then begin Inc(i); SetLength(arr,i); arr[i-1]:=stemp; end;

    Delphi清理Windows指定文件.rar

     pFrom := Pchar(Trim(FileListBox1.FileName));  fFlags := FOF_ALLOWUNDO;  pTo := Nil;  end;  if SHFileOperation(fileStruct) = 0 then  begin  ShowMessage('删除成功。');  end  else  ShowMessage...

    delphi从网页头获取网络时间日期

    GetText := Trim(RightStr(GetText, Length(GetText) - ii)); ii := Pos(' ', GetText); mm := Trim(LeftStr(GetText, ii - 1)); yy := Trim(RightStr(GetText, Length(GetText) - ii)); // 转换月份名称为...

    大小写金额转换-源码

    {小数点的位置} {循环小写货币的每一位,从小写的右边位置到左边} for qian:=length(Smallmonth) downto 1 do begin {如果读到的不是小数点就继续} if qian<>dianweizhi then begin {位置上的数转换成大写} case ...

    Delphi判断双字节字符的例子.rar

    Delphi判断双字节,用法简单,在窗口输入框中输入字符串,单击按钮即可,程序会判断出是否包含有双字节字符,判断方法请看下边的代码段:  s := Edit1.Text;  i := 0;... label2.Caption := trim(s1);

    常用excel函数公式大全.doc

    * 截取字符串中任一段:=TRIM(MID(SUBSTITUTE($A1," ",REPT(" ",20)),20,20)) * 字符串查找:=IF(COUNT(FIND("河南",A2))=0,"否","是") * 字符串查找一对多:=IF(COUNT(FIND({"辽宁","黑龙江","吉林"},A2))=0,"其他...

    一个Delphi TreeView节点添加、删除操作实例.rar

     addtxt:=trim(e1.text); //删除空格后得到添加节点的文本  addtxtlength:=length(addtxt); //得到添加节点的字符数  nodetext:=trim(hometrv.selected.Text); //得到所选节点的文本删除空格  restr:=length...

    首拼汉字码

    获得常用字汉字拼音的首个... for I := 1 to Length(cSTR) do begin S:=Copy(cSTR,i,1); if Trim(Getpinyin_shoupinma(S))='' then Result:=Result+S else Result:=Result+Getpinyin_shoupinma(S); end; end;

    delphi与java 加密解密 DES/CBC/PKCS5Padding

    最近做一个接口,与JAVA的关于DES/CBC/PKCS5Padding 互相解密。在网上找了很多资料,摸索了3天才摸索出来。同样的明文,用JAVA加密的密文死活都跟用DELPHI加密的不相等,有时候少于8个字符的就正常,多了8个字符的就...

    Delphi7.0按要求生成指定位数编号.rar

    Delphi7.0按要求生成指定位数编号,自动生成编号,请在文本框中输入编号,编号输入完成后按回车键。... edit1.Text:=trim(s) trim(edit1.Text);  end;  end;  end;  完整实例需要下载本源码。

    Delphi ASCII与HEX 16进制互转程序.rar

    Delphi 实现ASCII字符与HEX 16进制字符互... S:=TrimAll(S);//去空格  for i:=0 to (length(s)DIV 2)-1 do  BEGIN  buf1[i]:=BYTE(strtoint('$' copy(S,i*2 1,2)));  MEMO1.Text:=MEMO1.Text CHR(BUF1[I]);  END;

    delphi利用webbrowser控件下载彩票开奖号码

    curcode:=curcode+trim(mydoc.all.item(i+j).innerHTML); If strtoint64(curqi)>strtoint64(zuixingqi) Then begin rst.Append; rst.Fields[0].value:=curqi; For j:=1 To 5 do rst.Fields[j].value:=copy...

    Delphi Trim删除字符串首尾空格的实例.rar

    Delphi 删除字符串首尾空格的实例,过滤字符串,替换字符串,删除指定部位的字符串,具体到本例中,是删除字符串开头和结尾处的空格,本例子其实简单,使用内置的Trim函数... Edit2.Text := Trim(Edit1.Text);  end;

    Delphi获取详细的电脑磁盘信息.rar

     path := Trim(Edit1.Text);  if path<>'' then  begin  GetDiskFreeSpace(Pchar(path),S,B,F,T);  memo1.Lines.Add('根目录:' path '\');  memo1.Lines.Add('每簇的扇区数:' IntToStr(S));  memo1.Lines....

    delphi密码生成器

    nSbh := Copy(copy(Trim(Cob_smc.Text),pos('>',Cob_smc.Text)+1,10),3,8); If Cob_lx.ItemIndex = 0 then //显示车辆减免 Count_Time := StrToInt(Copy(FormatDateTime('YYYYMMDD',now()),Week_Count+1,7)+Copy...

    Test_FastReportPrint4万能fr3报表查看器

    Test_FastReportPrint4万能fr3报表查看器 自设计中支持按文本格式查看fr3报表, 前提是报表中最好不要有图片,否则打开会无响应或反应很慢 ... RptFileName:=Trim(lbe_file.Text) //打印模板 end; end; end.

Global site tag (gtag.js) - Google Analytics