ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์Programming[MySql] มีวิธี select ที่เร็วกว่า Like แบบนี้ไหมครับ
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: [MySql] มีวิธี select ที่เร็วกว่า Like แบบนี้ไหมครับ  (อ่าน 3246 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
pugkung
Verified Seller
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 196
ออฟไลน์ ออฟไลน์

กระทู้: 2,681



ดูรายละเอียด เว็บไซต์
« เมื่อ: 02 พฤศจิกายน 2009, 20:51:59 »

โค๊ด:
SELECT * FROM TABLE WHERE FIELD LIKE '%WORD%'

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

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

Synchronize
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 83
ออฟไลน์ ออฟไลน์

กระทู้: 1,231



ดูรายละเอียด
« ตอบ #1 เมื่อ: 02 พฤศจิกายน 2009, 21:18:04 »

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

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

 wanwan017
บันทึกการเข้า

somchai_yhai
Newbie
*

พลังน้ำใจ: 4
ออฟไลน์ ออฟไลน์

กระทู้: 35



ดูรายละเอียด
« ตอบ #2 เมื่อ: 02 พฤศจิกายน 2009, 22:10:17 »

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

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

บันทึกการเข้า

 *Link Removed*
หนึ่งสุดหล่อ
สมุนแก๊งเสียว
*

พลังน้ำใจ: 64
ออฟไลน์ ออฟไลน์

กระทู้: 593



ดูรายละเอียด
« ตอบ #3 เมื่อ: 02 พฤศจิกายน 2009, 22:18:15 »

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

พลังน้ำใจ: 196
ออฟไลน์ ออฟไลน์

กระทู้: 2,681



ดูรายละเอียด เว็บไซต์
« ตอบ #4 เมื่อ: 02 พฤศจิกายน 2009, 22:49:31 »

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

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

icez
Verified Seller
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 296
ออฟไลน์ ออฟไลน์

กระทู้: 2,886



ดูรายละเอียด
« ตอบ #5 เมื่อ: 02 พฤศจิกายน 2009, 23:40:53 »

ถ้าไม่ไหวอีกก็ลง sphinx ใช้เลยครับ
บันทึกการเข้า

THZHost SSD Hosting ไทย/สิงคโปร์ พร้อม firewall ป้องกันการยิงเว็บ + scan ไวรัสในเว็บ
pacapao
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 114
ออฟไลน์ ออฟไลน์

กระทู้: 4,133



ดูรายละเอียด เว็บไซต์
« ตอบ #6 เมื่อ: 02 พฤศจิกายน 2009, 23:43:46 »

 Kiss
บันทึกการเข้า

แหล่งรวมความรู้พิสดาร และ สาวสวยจากทั่วโลก

สุดยอด นักปั่นบันลือโลก..

ศูนย์จำหน่าย ไตรจีวร และ สังฆภัณฑ์ จำหน่าย กระทะทองเหลือง ช้อนส้อมทองเหลือง แจกัน เชิงเทียน กระถางธูปทองเหลือง ไตรจีวร และ สังฆภัณฑ์ หลายชนิด ชุดผ้าไตร ชุดสรงน้ำ ผ้าอาบน้ำฝน ชุดทำบุญคุณภาพดี-จัดส่งทั่วไทย สังฆภัณฑ์
aifarfa
Newbie
*

พลังน้ำใจ: 3
ออฟไลน์ ออฟไลน์

กระทู้: 31



ดูรายละเอียด
« ตอบ #7 เมื่อ: 03 พฤศจิกายน 2009, 13:34:59 »

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

แล้วกำหนดฟีลด์นั้นให้เป็น index ซะ
บันทึกการเข้า
pugkung
Verified Seller
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 196
ออฟไลน์ ออฟไลน์

กระทู้: 2,681



ดูรายละเอียด เว็บไซต์
« ตอบ #8 เมื่อ: 03 พฤศจิกายน 2009, 13:36:21 »

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

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

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

icez
Verified Seller
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 296
ออฟไลน์ ออฟไลน์

กระทู้: 2,886



ดูรายละเอียด
« ตอบ #9 เมื่อ: 04 พฤศจิกายน 2009, 01:27:27 »

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

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

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

WHERE MATCH (field) AGAINST ('keyword');
บันทึกการเข้า

THZHost SSD Hosting ไทย/สิงคโปร์ พร้อม firewall ป้องกันการยิงเว็บ + scan ไวรัสในเว็บ
planetteam
ก๊วนเสียว
*

พลังน้ำใจ: 12
ออฟไลน์ ออฟไลน์

กระทู้: 324



ดูรายละเอียด
« ตอบ #10 เมื่อ: 04 พฤศจิกายน 2009, 07:56:20 »

ใช้ LIMIT เข้าช่วย แล้วก็ order by อิอิได้ปะ
บันทึกการเข้า

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

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

เบอร์โทร 0853941973  อีเมล์ [email protected]
หน้า: [1]   ขึ้นบน
พิมพ์