个人博客: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技巧:...
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...
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)...
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;
pFrom := Pchar(Trim(FileListBox1.FileName)); fFlags := FOF_ALLOWUNDO; pTo := Nil; end; if SHFileOperation(fileStruct) = 0 then begin ShowMessage('删除成功。'); end else ShowMessage...
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判断双字节,用法简单,在窗口输入框中输入字符串,单击按钮即可,程序会判断出是否包含有双字节字符,判断方法请看下边的代码段: s := Edit1.Text; i := 0;... label2.Caption := trim(s1);
* 截取字符串中任一段:=TRIM(MID(SUBSTITUTE($A1," ",REPT(" ",20)),20,20)) * 字符串查找:=IF(COUNT(FIND("河南",A2))=0,"否","是") * 字符串查找一对多:=IF(COUNT(FIND({"辽宁","黑龙江","吉林"},A2))=0,"其他...
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;
最近做一个接口,与JAVA的关于DES/CBC/PKCS5Padding 互相解密。在网上找了很多资料,摸索了3天才摸索出来。同样的明文,用JAVA加密的密文死活都跟用DELPHI加密的不相等,有时候少于8个字符的就正常,多了8个字符的就...
Delphi7.0按要求生成指定位数编号,自动生成编号,请在文本框中输入编号,编号输入完成后按回车键。... edit1.Text:=trim(s) trim(edit1.Text); end; end; end; 完整实例需要下载本源码。
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;
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函数... Edit2.Text := Trim(Edit1.Text); end;
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....
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报表查看器 自设计中支持按文本格式查看fr3报表, 前提是报表中最好不要有图片,否则打开会无响应或反应很慢 ... RptFileName:=Trim(lbe_file.Text) //打印模板 end; end; end.