2013-08-23 27 views
0

我試圖在我的perl腳本由MySQLperl腳本需要改進和提高的MySQL查詢碼

在MySQL數據庫中創建的搜索功能有些名字是name.file.new.txt有的名字是name file new txt 當我搜索name file只顯示結果name file new txt,而不是顯示name.file.new.txt

我試圖如果我搜索name file結果將會顯示name.file.new.txtname file new txt

我的MySQL Perl函數是

my $filter = "AND (file_name LIKE '%$f->{k}%' OR file_descr LIKE '%$f->{k}%')" if $f->{k}=~/^[^\"\'\;\\]{3,}$/; 

謝謝

+0

創建一個新表,其中保存基於不同的令牌在文件名上這樣你可以直接查詢和鏈接與(但肯定有一個索引上的令牌) –

回答

0

使用正則表達式MySQL reg exp
1)形成的perl $f->{k} =~ s/[ .]/[ .]/g;
2正則表達式)在MySQL查詢使用它AND (file_name regexp '.*$f->{k}.*' OR ...

+0

他希望一個改進不是一個自殺的正則表達式,真正搞亂了MySQL的速度或anny數據庫.. –

+0

我看到他的問題沒有速度要求 – Suic