[MySql] มีวิธี select ที่เร็วกว่า Like แบบนี้ไหมครับ

เริ่มโดย pugkung, 02 พฤศจิกายน 2009, 20:51:59

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

pugkung

SELECT * FROM TABLE WHERE FIELD LIKE '%WORD%'

ถามแค่ตรง like นะครับ ตัว * นี้ ล่ะไว้ในฐานที่เข้าใจแล้ว  :wanwan017:

อยากรู้ว่ามีวิธีที่เร็วกว่านี้ไหมครับแล้วได้ผลลัพธ์เหมือนกันคือ ขอแค่มี ข้อความดังกล่าวนี้อยู่ใน field จะถูก query ออกมา  :wanwan017:

Synchronize

คือข้อมูลมันเยอะ จน query ช้าเหรอครับ

ใส่ index แบบ fulltext ลงไปสิครับ

:wanwan017:
เนื้อหาความรู้น่าสนใจ ใหม่ๆ
[direct=https://develop.un-no.com/w3/docs/clear-float-in-div]เทคนิคการแก้ไขปัญหาจากการ float ซ้อน float แล้ว clear[/direct]

[direct=https://service.un-no.com/unbbz]ทำเว็บได้ด้วยตัวเองฟรี ด้วยระบบเว็บสำเร็จรูป unbbz , เว็บธรรมดา , เว็บบอร์ด , เว็บขายของ ทำได้หมดเลย[/direct]

somchai_yhai

Mysql 5.1 มี plugin สำหรับทำ full-text search ภาษาไทย
http://dev.mysql.com/doc/refman/5.1/en/plugin-full-text-plugins.html

เวอชั่นที่เก่ากว่า 5.1 ยังไม่รองรับ full-text search ภาษาไทย แต่ยังมีเทคนิคที่พอใช้ได้ลอง search google ดู

 *Link Removed*

หนึ่งสุดหล่อ

full text ตามนั้น ผมก็ใช้อยู่ เพราะมันจะช่วยมากตรงที่เราเอา WORD ไป search หลายๆ colum มันจะมีการให้คะแนนแล้วเรียงลำดับจากคะแนนมากไปน้อยให้ด้วย ไม่ได้ดูเทียบเรื่องความเร็วกับ LIKE แต่ไม่ช้าล่ะกันครับ
:wanwan011:

pugkung

ก็ถามเผื่อไว้ครับ ข้อมูลก็ประมาณ หลักหมื่น record + ล่ะครับ

ขอบคุณมากนะครับ ยังไงจะลอง full text ดู มีคนแนะนำมาเยอะล่ะว่า ตัวนี้  :wanwan017:

icez

[direct=http://www.thzhost.com/]THZHost[/direct] SSD Hosting ไทย/สิงคโปร์ พร้อม firewall ป้องกันการยิงเว็บ + scan ไวรัสในเว็บ

pacapao

[direct=http://www.pacapao.com/]แหล่งรวมความรู้พิสดาร และ สาวสวยจากทั่วโลก[/direct]

[direct=http://www.facebook.com/pacapao]สุดยอด นักปั่นบันลือโลก..[/direct]

ศูนย์จำหน่าย ไตรจีวร และ สังฆภัณฑ์ จำหน่าย กระทะทองเหลือง ช้อนส้อมทองเหลือง แจกัน เชิงเทียน กระถางธูปทองเหลือง ไตรจีวร และ สังฆภัณฑ์ หลายชนิด ชุดผ้าไตร ชุดสรงน้ำ ผ้าอาบน้ำฝน ชุดทำบุญคุณภาพดี-จัดส่งทั่วไทย [direct=http://www.facebook.com/Sangkhapann]สังฆภัณฑ์[/direct]

aifarfa

ตั้ง field ที่เป็นเงื่อนไขการ search ควรจะเป็น varchar ขนาดเล็กสุดเท่าที่จำเป็นอะครับ

แล้วกำหนดฟีลด์นั้นให้เป็น index ซะ

pugkung

อ้างถึงจาก: aifarfa ใน 03 พฤศจิกายน 2009, 13:34:59
ตั้ง field ที่เป็นเงื่อนไขการ search ควรจะเป็น varchar ขนาดเล็กสุดเท่าที่จำเป็นอะครับ

แล้วกำหนดฟีลด์นั้นให้เป็น index ซะ

ถ้าขนาดที่จำเป็นจะต้องเป็น text ละครับ ประมาณว่าเอาไปค้นหาว่า ในบทความนี้มี kw นี้อยู่หรือปล่าว  :wanwan017:

icez

อ้างถึงจาก: pugkung ใน 03 พฤศจิกายน 2009, 13:36:21
อ้างถึงจาก: aifarfa ใน 03 พฤศจิกายน 2009, 13:34:59
ตั้ง field ที่เป็นเงื่อนไขการ search ควรจะเป็น varchar ขนาดเล็กสุดเท่าที่จำเป็นอะครับ

แล้วกำหนดฟีลด์นั้นให้เป็น index ซะ

ถ้าขนาดที่จำเป็นจะต้องเป็น text ละครับ ประมาณว่าเอาไปค้นหาว่า ในบทความนี้มี kw นี้อยู่หรือปล่าว  :wanwan017:
ใช้ FULLTEXT ครับ
แล้ว ใช้

WHERE MATCH (field) AGAINST ('keyword');
[direct=http://www.thzhost.com/]THZHost[/direct] SSD Hosting ไทย/สิงคโปร์ พร้อม firewall ป้องกันการยิงเว็บ + scan ไวรัสในเว็บ

planetteam

ขาย สคริป 25satang 20000.- bath สคริป ประมูล
ขายระบบรับตัดบัตรทรูมันนี่

รับเขียนโปรแกรมตัดบัตรทรู,ไอเทมมอล,เวปส่ง sms ,เวปคลิปวีดีโอ,บอดพิคโพส,ออโต้โพส และอื่นๆ
ภาษาที่เขียน php,vb.net,asp.net,c#.net,delphi
http://www.goto69.com ผลงานของทีมทางด้านโปรแกรมเมอ

เบอร์โทร 0853941973  อีเมล์ [email protected]