SQL 120000++ Record และ Traffic 7000-10000/วัน ใช้VPS (+1Thankให้ทุกท่านแล้วคับ)

เริ่มโดย WPDSign, 18 กรกฎาคม 2011, 12:18:12

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

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

ohmohm

หลีกเลี่ยงการ select * ด้วยครับ เอาแค่ columns ที่จำเป็น ยิ่งถ้าเป็น columns ที่อยู่ใน index ยิ่งดีครับ จะได้อานิสงส์จาก covering index
สร้าง index บน column ที่มีค่าหลากหลายหน่อยนะครับ ( มี selectivity สูง ) จะได้คุ้มค่า
ตัวอย่าง ถ้าอย่าง primary key มีค่าในแต่ละ row ไม่ซ้ำกันอยู่แล้ว มี selectivity สูงสุด แต่ primary key มันมี index มาให้อยู่แล้ว
ตัวอย่างคลาสซิก เช่น column ที่ใช้ระบุชายหญิง มันมี selectiviry ต่ำ คือมีแค่สอง ไม่ค่อยคุ้มที่จะสร้าง index ( ถึงสร้าง ตัว database server ก็อาจไม่ใช้ )
อาจต้องทำ compound index คือ index ที่มีหลาย columns

online transaction process มากกว่า 10,000 transactions/วินาที ( ใครทำ affiliate บ้าง )
http://www.linkedin.com/jobs?viewJob=&jobId=1767278

บางบริษัทต้องจ้าง dba เงินเดือน 80k มา fine june
http://www.narisa.com/forums/index.php?showtopic=32399&st=0&p=150334&#entry150334

WPDSign

ขอบคุณมากครับ คุณohmohm และเพื่อนๆท่านอื่นด้วยครับ

ใช้แบบนี้ได้ไมครับ อันนี้ SELECT หน้า detail
mysql_query("SELECT id_mem,type,title,message,website FROM table WHERE id='$PostID' LIMIT 1 "); ไม่รู้ถุกเปล่าครับ
ตอนนี้ผมแก้ลองดูแบบนี้ทุก selete ดู ปกติ SELECT แบบนี้ ใช้แต่ table หลัก อย่างเดียว พอดีลืมมักง่าย อิอิ  :wanwan012:


post เยอะแต่ประสบการณ์ยังน้อย ผมแนว จับทำเลย เขียน code ตามหลักการง่ายๆ อันใหน error ก็แก้ไปเรื่อยๆ พื้นฐานการณ์ต่างๆยังไม่รู้เลย แต่พอใช้เป็นนิดหน่อยแบบมั่วๆ  :wanwan031:  :wanwan012:
สร้างบ้าน Modern [direct=https://casa-concept1.com/]แบบบ้านโมเดิร์น[/direct] มาแรง
» ต้องการสร้างบ้านดูแบบบ้านสวยๆ [direct=http://www.architect-bkk.com/แบบบ้านสองชั้น]แบบบ้านสองชั้น[/direct] ทุกสไลต์บริการ[direct=http://www.ideaican.com/]รับสร้างบ้าน[/direct] ใครฝันอย่างสร้างบ้านสไตล์รีสอร์ท มี[direct=https://แบบบ้านสไตล์รีสอร์ท.blogspot.com]แบบบ้านสไตล์รีสอร์ท[/direct]พร้อมก่อสร้าง ลงประกาศขายบ้านที่ [direct=http://www.classified108.com/]ลงประกาศ[/direct]

mongther

ก่อนอื่น ... ขอแสดงความยินดีด้วยนะครับ เพราะ Traffic เข้ามากแสดงว่า รายได้ที่เข้ามาก็อาจจะเพิ่มขึ้นตาม  :'(

ตามประสบการณ์ผมตามนี้นะครับ

- ปรับแต่งในไฟล์ my.cnf จะช่วยได้มากๆเลยครับ แต่ค่าเท่าไหร่เรียนตามตรงว่า แต่ละ Database แต่ละคนจะไม่เหมือนกัน ดังนั้น เพื่อให้ง่ายผมแนะนำว่าลอง Search ไฟล์ Perl ใน internet ที่ชื่อว่า mysqltuner.pl ผมลองเช็คดูนะครับ (ผมมีแต่ไม่รู้ว่าจะส่งให้ยังไงดีครับ)ซึ่งมันจะแสดงให้หมดเลยว่าควร Set ค่าเท่าไหร่ดี

วิธีการ Run ก็ง่ายๆ คือ

#perl my.cnf

- เนื่องจากว่า RAM มันอาจจะไปค้างเวลาที่ SQL มันทำงานหนักๆ ผมใช้วิธี Restart ทุกคืนเวลาไม่ค่อยมีคนเข้า (วิธีนี้ลองพิจารณาดูเองนะครับ บางคนมองว่า Server มันจะต้อง Down ลงแต่เครื่องผมไม่ซีเรียสขนาดนั้น แลกกับ RAM เยอะๆก็คุ้มดีน่ะครับ)

- ผมทำ Cache ลงไฟล์ไปเลยถ้าหากว่าไม่มีการ Update ข้อมูลบ่อยๆ เช่นข้อมูลโฆษณา ถ้าเค้าอยากเลื่อนอันดับ หรือแก้ไขข้อมูลก็สามารถ Update ที่ไฟล์ได้เลย ... ส่วนนี้ลดจำนวน Record ลงไปได้มากโขเลยล่ะครับ

- ทำระบบป้องกันการโดยยิง หรือการเข้าจาก bot ที่มากเกินไปเช่นเช็คกว่าถ้าเข้ามา วินาทีละเกิน 10 transaction ก็ขึ้น capcha ให้กรอก (เลียนแบบ google เลยครับ)

- ส่วนวิธีอื่นก็ เพิ่ม RAM, แยกเป็น Server ต่างหากไปเลยครับ ไม่กระทบกับใครดี Dedicate ไปก่อนก็ได้ครับ ประหยัดดี

- Tune SQL จากประสบการณ์ผม Database Type MyIsam เร็วกว่า InnoDB นะครับ ถ้าเราใช้สำหรับ Transaction แต่ข้อเสียของ MyIsam คือมัน พังบ่อยมากและ overhead ยังเยอะอีก ต้องคอย optimize และ repaire บ่อยๆ ส่วนมากผมจะใช้ InnoDB ไปเลยครับ ส่วน MyISAM ผมใช้กับข้อมูล transaction ที่ไม่สำคัญมากเช่นเก็บเบอร์ IP ที่ bot ยิงเข้ามาเป็นต้น

หวังว่าคงช่วยได้บ้างนะครับ  :wanwan003:
"สองเหรียญในกระเป๋า เสียงดังกว่าร้อยเหรียญที่ยังมองไม่เห็น"

HaHaHaHa

อ้างถึงจาก: mongther ใน 21 กรกฎาคม 2011, 15:55:26
ก่อนอื่น ... ขอแสดงความยินดีด้วยนะครับ เพราะ Traffic เข้ามากแสดงว่า รายได้ที่เข้ามาก็อาจจะเพิ่มขึ้นตาม  :'(

ตามประสบการณ์ผมตามนี้นะครับ

- ปรับแต่งในไฟล์ my.cnf จะช่วยได้มากๆเลยครับ แต่ค่าเท่าไหร่เรียนตามตรงว่า แต่ละ Database แต่ละคนจะไม่เหมือนกัน ดังนั้น เพื่อให้ง่ายผมแนะนำว่าลอง Search ไฟล์ Perl ใน internet ที่ชื่อว่า mysqltuner.pl ผมลองเช็คดูนะครับ (ผมมีแต่ไม่รู้ว่าจะส่งให้ยังไงดีครับ)ซึ่งมันจะแสดงให้หมดเลยว่าควร Set ค่าเท่าไหร่ดี

วิธีการ Run ก็ง่ายๆ คือ

#perl my.cnf

- เนื่องจากว่า RAM มันอาจจะไปค้างเวลาที่ SQL มันทำงานหนักๆ ผมใช้วิธี Restart ทุกคืนเวลาไม่ค่อยมีคนเข้า (วิธีนี้ลองพิจารณาดูเองนะครับ บางคนมองว่า Server มันจะต้อง Down ลงแต่เครื่องผมไม่ซีเรียสขนาดนั้น แลกกับ RAM เยอะๆก็คุ้มดีน่ะครับ)

- ผมทำ Cache ลงไฟล์ไปเลยถ้าหากว่าไม่มีการ Update ข้อมูลบ่อยๆ เช่นข้อมูลโฆษณา ถ้าเค้าอยากเลื่อนอันดับ หรือแก้ไขข้อมูลก็สามารถ Update ที่ไฟล์ได้เลย ... ส่วนนี้ลดจำนวน Record ลงไปได้มากโขเลยล่ะครับ

- ทำระบบป้องกันการโดยยิง หรือการเข้าจาก bot ที่มากเกินไปเช่นเช็คกว่าถ้าเข้ามา วินาทีละเกิน 10 transaction ก็ขึ้น capcha ให้กรอก (เลียนแบบ google เลยครับ)

- ส่วนวิธีอื่นก็ เพิ่ม RAM, แยกเป็น Server ต่างหากไปเลยครับ ไม่กระทบกับใครดี Dedicate ไปก่อนก็ได้ครับ ประหยัดดี

- Tune SQL จากประสบการณ์ผม Database Type MyIsam เร็วกว่า InnoDB นะครับ ถ้าเราใช้สำหรับ Transaction แต่ข้อเสียของ MyIsam คือมัน พังบ่อยมากและ overhead ยังเยอะอีก ต้องคอย optimize และ repaire บ่อยๆ ส่วนมากผมจะใช้ InnoDB ไปเลยครับ ส่วน MyISAM ผมใช้กับข้อมูล transaction ที่ไม่สำคัญมากเช่นเก็บเบอร์ IP ที่ bot ยิงเข้ามาเป็นต้น

หวังว่าคงช่วยได้บ้างนะครับ  :wanwan003:
mysqltuner.pl โหลดมาแล้วเอาไปไว้ตรงไหนอะครับ

mongther

mysqltuner.pl เอาวางบน host น่ะครับ มันเป็น perl script ทางตรงไหนก็ได้แล้วลอง run ดูครับ

ปล. แต่เครื่องต้องมี complier perl นะครับ (โดยปกติ unix ตระกูล centOs, Redhat, Dabian น่าจะมีอยู่แล้วครับ)

เช็คได้ด้วยการดู

# man perl

ลอง search ดูใน google ก็ได้นะครับเห้นหลายๆ blog สอนใช้โดยละเอียด ภาษาไทยก็มีครับ  :wanwan017:
"สองเหรียญในกระเป๋า เสียงดังกว่าร้อยเหรียญที่ยังมองไม่เห็น"

WPDSign

อ้างถึงจาก: mongther ใน 21 กรกฎาคม 2011, 15:55:26
ก่อนอื่น ... ขอแสดงความยินดีด้วยนะครับ เพราะ Traffic เข้ามากแสดงว่า รายได้ที่เข้ามาก็อาจจะเพิ่มขึ้นตาม  :'(

ตามประสบการณ์ผมตามนี้นะครับ

- ปรับแต่งในไฟล์ my.cnf จะช่วยได้มากๆเลยครับ แต่ค่าเท่าไหร่เรียนตามตรงว่า แต่ละ Database แต่ละคนจะไม่เหมือนกัน ดังนั้น เพื่อให้ง่ายผมแนะนำว่าลอง Search ไฟล์ Perl ใน internet ที่ชื่อว่า mysqltuner.pl ผมลองเช็คดูนะครับ (ผมมีแต่ไม่รู้ว่าจะส่งให้ยังไงดีครับ)ซึ่งมันจะแสดงให้หมดเลยว่าควร Set ค่าเท่าไหร่ดี

วิธีการ Run ก็ง่ายๆ คือ

#perl my.cnf

- เนื่องจากว่า RAM มันอาจจะไปค้างเวลาที่ SQL มันทำงานหนักๆ ผมใช้วิธี Restart ทุกคืนเวลาไม่ค่อยมีคนเข้า (วิธีนี้ลองพิจารณาดูเองนะครับ บางคนมองว่า Server มันจะต้อง Down ลงแต่เครื่องผมไม่ซีเรียสขนาดนั้น แลกกับ RAM เยอะๆก็คุ้มดีน่ะครับ)

- ผมทำ Cache ลงไฟล์ไปเลยถ้าหากว่าไม่มีการ Update ข้อมูลบ่อยๆ เช่นข้อมูลโฆษณา ถ้าเค้าอยากเลื่อนอันดับ หรือแก้ไขข้อมูลก็สามารถ Update ที่ไฟล์ได้เลย ... ส่วนนี้ลดจำนวน Record ลงไปได้มากโขเลยล่ะครับ

- ทำระบบป้องกันการโดยยิง หรือการเข้าจาก bot ที่มากเกินไปเช่นเช็คกว่าถ้าเข้ามา วินาทีละเกิน 10 transaction ก็ขึ้น capcha ให้กรอก (เลียนแบบ google เลยครับ)

- ส่วนวิธีอื่นก็ เพิ่ม RAM, แยกเป็น Server ต่างหากไปเลยครับ ไม่กระทบกับใครดี Dedicate ไปก่อนก็ได้ครับ ประหยัดดี

- Tune SQL จากประสบการณ์ผม Database Type MyIsam เร็วกว่า InnoDB นะครับ ถ้าเราใช้สำหรับ Transaction แต่ข้อเสียของ MyIsam คือมัน พังบ่อยมากและ overhead ยังเยอะอีก ต้องคอย optimize และ repaire บ่อยๆ ส่วนมากผมจะใช้ InnoDB ไปเลยครับ ส่วน MyISAM ผมใช้กับข้อมูล transaction ที่ไม่สำคัญมากเช่นเก็บเบอร์ IP ที่ bot ยิงเข้ามาเป็นต้น

หวังว่าคงช่วยได้บ้างนะครับ  :wanwan003:

ขอบคุณพี่มากๆครับ พิมพ์ยาว อ่านเข้าใจดี เดี่ยวผมจะค่อยๆลองทำตามดูครับ เพราะบางอย่างยังไม่เคยลอง
หากไม่รบกวนเกินไป ส่งมาที่ msn,main : wpdsign @ hotmail.com

traffic เว็บพี่เยอะมาก
ขอแสดงความยินดี ด้วยเช่นกันน่ะครับ

thank ครับ
พัน
สร้างบ้าน Modern [direct=https://casa-concept1.com/]แบบบ้านโมเดิร์น[/direct] มาแรง
» ต้องการสร้างบ้านดูแบบบ้านสวยๆ [direct=http://www.architect-bkk.com/แบบบ้านสองชั้น]แบบบ้านสองชั้น[/direct] ทุกสไลต์บริการ[direct=http://www.ideaican.com/]รับสร้างบ้าน[/direct] ใครฝันอย่างสร้างบ้านสไตล์รีสอร์ท มี[direct=https://แบบบ้านสไตล์รีสอร์ท.blogspot.com]แบบบ้านสไตล์รีสอร์ท[/direct]พร้อมก่อสร้าง ลงประกาศขายบ้านที่ [direct=http://www.classified108.com/]ลงประกาศ[/direct]

thaicoffin

เข้ามาเก็บความรู้  :wanwan006: :wanwan006:สักวันหนึ่งเราจะโต
[Direct=http://xn--b3cy0bb7e.com]ราชรถ[/Direct][Direct=http://xn--72c0b0ak0lj3b.com]โลงเย็น[/Direct][Direct=http://www.kwoodcraft.com]จุดเริ่มต้นศรัทธา[/Direct][Direct=http://www.mademerit.com]ตั้งพระบรมสารีริกธาตุ[/Direct][Direct=http://xn--m3car7ah7ee.com]ตาลปัตร[/Direct]

HaHaHaHa

อ้างถึงจาก: mongther ใน 21 กรกฎาคม 2011, 16:26:18
mysqltuner.pl เอาวางบน host น่ะครับ มันเป็น perl script ทางตรงไหนก็ได้แล้วลอง run ดูครับ

ปล. แต่เครื่องต้องมี complier perl นะครับ (โดยปกติ unix ตระกูล centOs, Redhat, Dabian น่าจะมีอยู่แล้วครับ)

เช็คได้ด้วยการดู

# man perl

ลอง search ดูใน google ก็ได้นะครับเห้นหลายๆ blog สอนใช้โดยละเอียด ภาษาไทยก็มีครับ  :wanwan017:
ผมลองพิมดูแล้วขึ้น
PERL(1)                Perl Programmers Reference Guide                PERL(1)

NAME
       perl - Practical Extraction and Report Language

SYNOPSIS
       perl [ -sTtuUWX ]      [ -hv ] [ -V[:configvar] ]
            [ -cw ] [ -d[t][:debugger] ] [ -D[number/list] ]
            [ -pna ] [ -Fpattern ] [ -l[octal] ] [ -0[octal/hexadecimal] ]
            [ -Idir ] [ -m[-]module ] [ -M[-]’module...’ ] [ -f ]
            [ -C [number/list] ]      [ -P ]      [ -S ]      [ -x[dir] ]
            [ -i[extension] ]      [ -e ’command’ ] [ -- ] [ program-
       file ] [ argument ]...

       If you’re new to Perl, you should start with perlintro, which is a gen-
       eral intro for beginners and provides some background to help you navi-
       gate the rest of Perl’s extensive documentation.

       For ease of access, the Perl manual has been split up into several sec-
       tions.

       Overview

อะครับแสดงว่ามีใช่ป่าวครับ

ohmohm

อ้างถึงจาก: WPDSign ใน 20 กรกฎาคม 2011, 15:11:22

mysql_query("SELECT id_mem,type,title,message,website FROM table WHERE id='$PostID' LIMIT 1 "); ไม่รู้ถุกเปล่า
แบบนี้ละครับ ถ้า column id เป็น primary key อยู่แล้วด้วยยิ่งดี ( เดาเอา จากชื่อ )

mongther

อ้างถึงจาก: HaHaHaHa ใน 21 กรกฎาคม 2011, 17:47:17
อ้างถึงจาก: mongther ใน 21 กรกฎาคม 2011, 16:26:18
mysqltuner.pl เอาวางบน host น่ะครับ มันเป็น perl script ทางตรงไหนก็ได้แล้วลอง run ดูครับ

ปล. แต่เครื่องต้องมี complier perl นะครับ (โดยปกติ unix ตระกูล centOs, Redhat, Dabian น่าจะมีอยู่แล้วครับ)

เช็คได้ด้วยการดู

# man perl

ลอง search ดูใน google ก็ได้นะครับเห้นหลายๆ blog สอนใช้โดยละเอียด ภาษาไทยก็มีครับ  :wanwan017:
ผมลองพิมดูแล้วขึ้น
PERL(1)                Perl Programmers Reference Guide                PERL(1)

NAME
       perl - Practical Extraction and Report Language

SYNOPSIS
       perl [ -sTtuUWX ]      [ -hv ] [ -V[:configvar] ]
            [ -cw ] [ -d[t][:debugger] ] [ -D[number/list] ]
            [ -pna ] [ -Fpattern ] [ -l[octal] ] [ -0[octal/hexadecimal] ]
            [ -Idir ] [ -m[-]module ] [ -M[-]’module...’ ] [ -f ]
            [ -C [number/list] ]      [ -P ]      [ -S ]      [ -x[dir] ]
            [ -i[extension] ]      [ -e ’command’ ] [ -- ] [ program-
       file ] [ argument ]...

       If you’re new to Perl, you should start with perlintro, which is a gen-
       eral intro for beginners and provides some background to help you navi-
       gate the rest of Perl’s extensive documentation.

       For ease of access, the Perl manual has been split up into several sec-
       tions.

       Overview

อะครับแสดงว่ามีใช่ป่าวครับ

ถูกต้องครับ แสดงว่ามี perl แล้ว run ได้เลยครับ
"สองเหรียญในกระเป๋า เสียงดังกว่าร้อยเหรียญที่ยังมองไม่เห็น"

WPDSign

อ้างถึงจาก: ohmohm ใน 21 กรกฎาคม 2011, 18:56:50
อ้างถึงจาก: WPDSign ใน 20 กรกฎาคม 2011, 15:11:22

mysql_query("SELECT id_mem,type,title,message,website FROM table WHERE id='$PostID' LIMIT 1 "); ไม่รู้ถุกเปล่า
แบบนี้ละครับ ถ้า column id เป็น primary key อยู่แล้วด้วยยิ่งดี ( เดาเอา จากชื่อ )

ขอบคุณมากครับ

ช่วงเย็นๆ ตอนนี้ ช่วงค่ำๆ ขนาดผมตัดส่วนที่ join ออกหมดแล้วยังไม่ไหว

เดี่ยวลองตามคุณmongther ด้วยอีกวิธีครับ
สร้างบ้าน Modern [direct=https://casa-concept1.com/]แบบบ้านโมเดิร์น[/direct] มาแรง
» ต้องการสร้างบ้านดูแบบบ้านสวยๆ [direct=http://www.architect-bkk.com/แบบบ้านสองชั้น]แบบบ้านสองชั้น[/direct] ทุกสไลต์บริการ[direct=http://www.ideaican.com/]รับสร้างบ้าน[/direct] ใครฝันอย่างสร้างบ้านสไตล์รีสอร์ท มี[direct=https://แบบบ้านสไตล์รีสอร์ท.blogspot.com]แบบบ้านสไตล์รีสอร์ท[/direct]พร้อมก่อสร้าง ลงประกาศขายบ้านที่ [direct=http://www.classified108.com/]ลงประกาศ[/direct]

PAGE

ว่าจะเข้ามาเนียน แต่ที่คิดไว้ก็มีคนตอบหมดแล้ว

ช่วยดันให้แล้วกัน
สิ่งที่ดีที่สุดในชีวิตคือความสงบ

mongther

ขอโทษด้วยครับ ผิดเบ้อเริ่มเลย

การ Run files เราต้อง run perl file ครับ

ไม่ใช่

#perl my.cnf

ต้องเป็นแบบนี้นะครับ

#perl mysqltuner.pl
(ไม่ต้องพิมพ์ # นะครับ )

:wanwan017:
"สองเหรียญในกระเป๋า เสียงดังกว่าร้อยเหรียญที่ยังมองไม่เห็น"

Infinity

ขอถามด้วยคนนะครับ complier perl ไปเปิดได้ที่ไหนครับ
พอดีผมมี vps เหมือนกัน แต่หาใน direct admin ไม่เจอ

แล้วก็การทำ index เราทำใน phpMyAdmin ได้ไหม จะเสี่ยงข้อมูลเสียหายหรือเปล่า
ผมจะทำหลายทีละ แต่จะแบ็คอัพลง sql มาก่อนมันจะมีปัญหาสองเรื่องคือ
1. ไฟล์ sql ใหญ่มากๆ ดัมพ์ลำบาก ล้านหกแสนเรคคอร์ด 350 เม็ก (ผมใช้ shell ไม่เป็น)
2. user ใช้งานเว็บตลอดเวลา ผมไม่สามารถปิดเว็บได้ครับ

[direct=http://www.thailandadviser.com]Thailand Hotels[/direct] [direct=http://www.krabiholiday.com]Krabi Hotels[/direct] [direct=http://www.chiangmaibooking.com]Chiang Mai Hotels[/direct]

execter

1.เช็คดู SQL ให้มัน กระชับมากที่สุด อย่างเช่นเราจะเอาแค่บาง Field ก็อย่าใช้ *
2.ทำ Index ใน Field ที่ใช้เป็นเงื่อนไขบ่อยเพื่อความรวดเร็วในการค้นหา
3.หลีกเลี่ยง การ JOIN ต่างๆ เพราะจะทำให้ DB ทำงานหนัก
4.คงต่อพึ่งระบบ CACHE ของ PHP แล้วล่ะ
5.Scale Out Server ขยายออกไปเป็น DB Server อีกหนึ่งตัว

คิดได้เท่านี้ครับ ลองดูครับ  :wanwan011:
Mubaza Thailand

kond

กระทู้นี้ได้ความรู้ดีจริงครับ ขอเข้ามาเก็บความรู้เผื่อวันนึงอาจจะมีโอกาสเจอปัญหาแบบนี้บ้าง :P
[direct=http://secure.hostgator.com/~affiliat/cgi-bin/affiliates/clickthru.cgi?id=thaians]ลดราคา HostGator เดือนแรก 9.95$ หรือจ่ายน้อยสุด 30 สตางค์ ด้วยคูปอง[/direct] "cheaplowprice"

คนไทยใยไม่ ปล่อยวาง...

mongther

อ้างถึงจาก: Infinity ใน 22 กรกฎาคม 2011, 09:29:07
ขอถามด้วยคนนะครับ complier perl ไปเปิดได้ที่ไหนครับ
พอดีผมมี vps เหมือนกัน แต่หาใน direct admin ไม่เจอ

แล้วก็การทำ index เราทำใน phpMyAdmin ได้ไหม จะเสี่ยงข้อมูลเสียหายหรือเปล่า
ผมจะทำหลายทีละ แต่จะแบ็คอัพลง sql มาก่อนมันจะมีปัญหาสองเรื่องคือ
1. ไฟล์ sql ใหญ่มากๆ ดัมพ์ลำบาก ล้านหกแสนเรคคอร์ด 350 เม็ก (ผมใช้ shell ไม่เป็น)
2. user ใช้งานเว็บตลอดเวลา ผมไม่สามารถปิดเว็บได้ครับ



ผมไม่เคยเช็คผ่าน direct admin นะครับ เคยแค่เช้คผ่าน command line ด้วยคำสั่ง

man perl

ถ้าเครื่องไม่มีก็สามารถติดตั้งโดยใช้คำสั่ง

yum install perl
(สำหรับ unix ตระกูล centOS)

หรือ

atp get perl
(สำหรับ unix ตระกูล dibian)

ง่ายๆไม่ถึง 3 นาทีก็เสร็จครับ
ปล. ใครไม่ต้องการใช้ script perl ตรวจสอบ ให้เลือกใช้ phpMyAdmin ดูก็มีครับ Click ตรง Server Status จะแสดง ข้อมูลทั้งหมดเลย

ตอบคำถามที่ว่าการใส่ index ผ่าน phpMyAdmin ทำได้ครับ ไม่ส่งผลกระทบ แต่ถ้าจะให้ดูควร Backup เอาไว้ก่อนครับ
ผมไม่แนะนำให้ backup ผ่าน phpMyAdmin นะครับ ถ้าจะทำให้ทำผ่าน command line บน unix จะเร็วกว่าเยอะครับ

Back up ใช้
mysqldump -u root -p -h 127.0.0.1 my_database > my_database.sql

Restore ใช้
mysql -u root -p -h 127.0.0.1 my_database < my_database.sql

ปล. user คือ root, ip คือ 127.0.0.1, ฐานข้อมูลชื่อ my_database, ลงไฟล์ชื่อ my_database.sql

350 MB นี่สำหรับผมถือว่าไม่ใหญ่เลยครับ ขอผม 1 GB ใช้เวลา Backup ไม่เกิน 10 นาทีครับ
"สองเหรียญในกระเป๋า เสียงดังกว่าร้อยเหรียญที่ยังมองไม่เห็น"

WPDSign

หลังๆคุณmongther ปล่อยเยอะเลย ขอบคุณสำหรับความรู้ดีๆ จากประสบการณ์ตรง
กด thank ยังไม่ได้
สร้างบ้าน Modern [direct=https://casa-concept1.com/]แบบบ้านโมเดิร์น[/direct] มาแรง
» ต้องการสร้างบ้านดูแบบบ้านสวยๆ [direct=http://www.architect-bkk.com/แบบบ้านสองชั้น]แบบบ้านสองชั้น[/direct] ทุกสไลต์บริการ[direct=http://www.ideaican.com/]รับสร้างบ้าน[/direct] ใครฝันอย่างสร้างบ้านสไตล์รีสอร์ท มี[direct=https://แบบบ้านสไตล์รีสอร์ท.blogspot.com]แบบบ้านสไตล์รีสอร์ท[/direct]พร้อมก่อสร้าง ลงประกาศขายบ้านที่ [direct=http://www.classified108.com/]ลงประกาศ[/direct]

@@@

จากประสบการนะคับ
1.ใช้ InnoDB คับ ถึงแม้จะช้ากว่า MYISAM  แค่ความเร็วคงที เพราะมีการ lock record ใน ระดับ row ซึ่ง MYISAM  จะ  lock record ใน ระดับ table
2.เช็คดู SQL เอาแค่บาง Field ก็อย่าใช้ *
3.ทำ Index ใน Field ที่ใช้เป็นเงื่อนไขบ่อย โดยทำจาก คำสั่งที่ทำให้ server อืด (ดู sql ที่ทำให้ server เราอืด tail -f /var/log/mysql/mysql-slow.log)
4.เลี่ยง การ Join พร้ำเพื่ออันไหนคิดว่าไม่ต้อง Join ก็เอาค่านั้นมาเก็บไว้ก่อนแล้วแทนค่าเอา
5.MEMCACHE ตัวนี้ลดโหลดได้เยอะ ใช้ตอนแสดงขอมูลห้านาทีสิบนาทีดึงข้อมูลจาก DB ที่หนึ่งก็ว่าไป
รับซื้อเว็บ 100uip ต่อวันขึ้นไป [direct=http://www.rommit.com/forex]EA Forex[/direct]

Infinity

โอ้วววว ถามนิดเดียวตอบซะเยอะเลย ขอบคุณมากครับ  :wanwan017:
[direct=http://www.thailandadviser.com]Thailand Hotels[/direct] [direct=http://www.krabiholiday.com]Krabi Hotels[/direct] [direct=http://www.chiangmaibooking.com]Chiang Mai Hotels[/direct]