[PHP] text file 5 แสน กับ record 5 แสน อย่างไหนดีกว่ากันครับ

เริ่มโดย xmen256k, 25 ธันวาคม 2012, 03:28:03

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

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

xmen256k

แบบถ้าจะทำแหล่งเก็บข้อมูลราวๆ 5แสนอย่าง แบบไหนดีกว่าครับ

เอาแบบแสดงผลเร็ว+เครื่องเบา

ขอบเขต
- textfile 5 แสน ในโฟลเดอร์เดียว
- record 5 แสน ในตารางเดียว

วิธีการแสดงผล
textfile : เรียกชื่อไฟล์ตรงตัวไม่มีการค้นหา
record : ค้นหาข้อมูลจาก 1 คอลัมภ์ (ใช้ตารางเดียวไม่มีตารางอื่นๆ)

อย่างไหนตอบสนองได้ดีกว่ากันครับ

ขอบคุณครับ

gd,lN


[direct=https://www.facebook.com/RukCom.in.th]เช่า Hosting ที่ไหนดี[/direct] [direct=https://goo.gl/XQp91t]Host ไทย[/direct][direct=https://goo.gl/Sushsj]ruk-com[/direct][direct=https://goo.gl/Hu3NsY]Hostatom[/direct][direct=https://twitter.com/siamlottery]บริการ ตรวจหวย[/direct]

dekmv


iLhay

[direct=https://bangmod.cloud/wordpress-hosting/]Wordpress Hosting

[/direct]
[direct=https://bangmod.cloud/wordpress-hosting/]Wordpress Hosting[/direct] เริ่มต้นปีละ 790 บาท NVMe SSD เร็ว 9000MB/s เร็วกว่านี้ไม่มีอีกแล้ว
[direct=https://bangmod.cloud/cloud-server]Cloud Server[/direct] เริ่มต้นเพียงเดือนละ 159 บาท พร้อมใช้ภายใน 1 นาที ผ่านระบบอัตโนมัติมีทั้ง Linux / Windows / DirectAdmin
สอบถามข้อมูลและแจ้งปัญหา 02-105-4417 ตลอด 24 ชั่วโมง

Putter™

เรียก text file โดยตรงน่าเร็วกว่านะครับ ถ้าอ้างชื่อไฟล์โดยตรง (อันนี้ไม่แน่ใจความคิดเห็นส่วนตัวนะครับ)
แต่เค้าไม่นิยมใช้กัน ฮ่าๆ  :wanwan019:

ที่ผมคิดว่ามันเร็วกว่าเพราะการเชื่อม Sql มันต้อง [connect (connect ผ่าน Driver) -> query -> fetch data] ตาม Step ส่วนถ้าอ่านจาก text file ก็ [open (จาก System) -> read]

อ้างถึงขอบเขต
- textfile 5 แสน ในโฟลเดอร์เดียว
- record 5 แสน ในตารางเดียว

เป็นผมก็เลือก record นะครับ
[direct=https://hostings.ruk-com.in.th]Ruk-Com Hosting (IAAS)[/direct]
[direct=https://ruk-com.cloud]Ruk-Com Cloud (PAAS)[/direct]
รีวิวโฮสติ่ง Ruk-Com  จากสมาชิก THAISEO

ไม่พอใจยินดีคืนเงินเต็มจำนวนทุกบริการ

iLhay

อ้างถึงจาก: Putter™ ใน 25 ธันวาคม 2012, 05:44:36
เรียก text file โดยตรงน่าเร็วกว่านะครับ ถ้าอ้างชื่อไฟล์โดยตรง (อันนี้ไม่แน่ใจความคิดเห็นส่วนตัวนะครับ)
แต่เค้าไม่นิยมใช้กัน ฮ่าๆ  :wanwan019:

ที่ผมคิดว่ามันเร็วกว่าเพราะการเชื่อม Sql มันต้อง [connect (connect ผ่าน Driver) -> query -> fetch data] ตาม Step ส่วนถ้าอ่านจาก text file ก็ [open (จาก System) -> read]

อ้างถึงขอบเขต
- textfile 5 แสน ในโฟลเดอร์เดียว
- record 5 แสน ในตารางเดียว

เป็นผมก็เลือก record นะครับ

ถ้าจะเทียบกับจริงๆต้องลงไปถึง File Structure ครับ (คิดภาพไม่ออกว่าขึ้นมาทีละ 500k query จะเป็นยังไงเหมือนกัน)

ซึ่งแน่นอนว่าแต่ละ OS มันจะมี File Structure ที่เรียกโชว์ออกมาไม่เหมือนกันครับ

File Structure ของ Database มาเพื่อแบบนี้โดยเฉพาะอยู่แล้ว ที่เคยเทส Performance ของ DB2 10 ล้าน records ทำ index ก็ query โผล่มา ไม่ถึงวินาทีเหมือนกัน
[direct=https://bangmod.cloud/wordpress-hosting/]Wordpress Hosting

[/direct]
[direct=https://bangmod.cloud/wordpress-hosting/]Wordpress Hosting[/direct] เริ่มต้นปีละ 790 บาท NVMe SSD เร็ว 9000MB/s เร็วกว่านี้ไม่มีอีกแล้ว
[direct=https://bangmod.cloud/cloud-server]Cloud Server[/direct] เริ่มต้นเพียงเดือนละ 159 บาท พร้อมใช้ภายใน 1 นาที ผ่านระบบอัตโนมัติมีทั้ง Linux / Windows / DirectAdmin
สอบถามข้อมูลและแจ้งปัญหา 02-105-4417 ตลอด 24 ชั่วโมง


ttong

เท่าที่เคยได้ยินใครๆ เค้าบอกกันมาว่า
ถ้าเรื่องความเร็วในการดึงข้อมูลเก็บแบบ Text File น่าจะเร็วกว่าเก็บลง Database นะครับ
แต่ถ้าเกิดต้องมีการประมวลผลอื่นด้วย ก็ควรจะเก็บลง Database

ปล. ผมเคยได้ยินเค้ามาอีกทีนะ  :-[

umm205

ส่วนตัวชอบ record 5 แสน ในตารางเดียว มากกว่า ทำ index ดีๆน่าจะชิลๆครับ

xvlnw.com

ยังไงผมก็เชื่อว่ record นั้นดีกว่า Text ครับ

ไม่งั้นคงไม่มี DB เกิดขึ้นมาแทนพวก Text หรอกครับ :)
[direct=https://cloudhost.in.th/wordpress-hosting]ツ ⓌⓄⓇⒹⓅⓇⒺⓈⓈ ⒽⓄⓈⓉⒾⓃⒼ [/direct] :wanwan014:  :D
[direct=https://cloudhost.in.th/cloudhosting.html]Cloud Hosting[/direct] [direct=https://cloudhost.in.th/cloudvps.html]Cloud Server[/direct] [direct=https://cloudhost.in.th/vpshosting.html]Cloud VPS Hosting[/direct] [direct=https://cloudhost.in.th/windowsvps.html]Cloud Windows[/direct] Tel: 080-348-0843 LINE: ixvlnw

lojoman

text file จะช้ากว่าเพราะไม่้มี index แต่จะเร็วมั๊ก ถ้าข้อมูลอยู๋ส่วนหัวอะนะ

[direct=http://www.noobthink.com][/direct]
ขายประกันชีวิตด้วยนะครับ สนใจ [direct=http://www.thaiseoboard.com/index.php?action=pm;sa=send;u=3638]PM[/direct]  มาได้นะครับรับเฉพาะเชียงใหม่ ลำพูน นะครับ

zankumuro

ถ้าเรียกตรงๆแบบไม่มีคิวรี่หรือเงื่อนไข

ผมว่า TextFile เร็วกว่า แต่ก็ขึ้นอยู่กับขนาดของข้อมูลในนั้นด้วย

ถ้าจำนวนข้อมูลเยอะขนาด 5 แสนข้อมูล ใช้ DB เถอะครับ จะได้ไม่เป็นภาระตอนค้นหา
อย่าเชื่อผมมาก ผมมันมั่ว.....ฮ่าๆ

ฝาก Like แฟนเพจหน่อยครับ
https://www.facebook.com/devsignup

ข่าวสารวงการเกมส์ ทริปทริคต่างๆ เกมส์แจกฟรี
https://www.wecanplay.in.th/

p44n

ถ้า เงื่อนไขที่ว่า

" textfile : เรียกชื่อไฟล์ตรงตัวไม่มีการค้นหา "

text ไฟล์เร็วกว่า 100% คับ

แต่ที่ต้องใช้ database นั่นเพราะเหตุผล "ด้านการประัมวลผล" ครับ  :wanwan017:



Python, PHP OOP, MVC CodeIgniter, MongoDB, MySQL, MsSQL ,CSS Tableless, Responsive Design, Cross-platform, Javascript, jQuery, AngularJS, NodeJS,  Fackbook API, Paypal API, Omise API, Google Map API, C# Window Applications, .NET Framework, JAVA (Android Developer, JSP), Hybrid Application with Cordova + Ionic Framework, ReactJS, React Native

artmond

อ้างถึงจาก: iLhay ใน 25 ธันวาคม 2012, 06:00:02
อ้างถึงจาก: Putter™ ใน 25 ธันวาคม 2012, 05:44:36
เรียก text file โดยตรงน่าเร็วกว่านะครับ ถ้าอ้างชื่อไฟล์โดยตรง (อันนี้ไม่แน่ใจความคิดเห็นส่วนตัวนะครับ)
แต่เค้าไม่นิยมใช้กัน ฮ่าๆ  :wanwan019:

ที่ผมคิดว่ามันเร็วกว่าเพราะการเชื่อม Sql มันต้อง [connect (connect ผ่าน Driver) -> query -> fetch data] ตาม Step ส่วนถ้าอ่านจาก text file ก็ [open (จาก System) -> read]

อ้างถึงขอบเขต
- textfile 5 แสน ในโฟลเดอร์เดียว
- record 5 แสน ในตารางเดียว

เป็นผมก็เลือก record นะครับ

ถ้าจะเทียบกับจริงๆต้องลงไปถึง File Structure ครับ (คิดภาพไม่ออกว่าขึ้นมาทีละ 500k query จะเป็นยังไงเหมือนกัน)

ซึ่งแน่นอนว่าแต่ละ OS มันจะมี File Structure ที่เรียกโชว์ออกมาไม่เหมือนกันครับ

File Structure ของ Database มาเพื่อแบบนี้โดยเฉพาะอยู่แล้ว ที่เคยเทส Performance ของ DB2 10 ล้าน records ทำ index ก็ query โผล่มา ไม่ถึงวินาทีเหมือนกัน

Confirm อีกเสียงครับ กับการใช้ DB ยิ่งถ้าเรียกด้วย Primary Key ด้วยละก็ เร็วแน่นอน

ผมเคยทำกับ MySQL ขนาด 170 ล้าน Records แล้วครับ ถ้าเรียกด้วย Primary Key วิ่งสบาย ถ้าเงื่อนไขอื่น ไปเดินเล่นก่อนละกัน ค่อยกลับมาดู

ถ้าต้องการเก็บข้อมูลใหญ่มากๆ หรือพวก Log มหาศาล แนะนำให้ใช้ MongoDB จะแหล่มกว่านะครับ



แต่ก็แอบสงสัยว่าทำไม Text File ต้องมีข้อจำกัดใน Folder เดียวด้วยครับ

ถ้าต้องการเรียกแบบ Index ก็สามารถใช้    /ax/fG/Qr/1234567.txt ได้นะ ไม่จำเป็นต้องเก็บ Folder เดียว

ถ้าใช้วิธีนี้ก็เร็วเหมือนกันครับ แต่จะหนัก IO มาก HDD วิ่งกระจาย เพราะไม่มีพวก Query Caching หรือ Buffer ช่วยเลย



จริงๆ ต้องดูด้วยนะครับว่าสิ่งที่จะเก็บคืออะไร ปริมาณขนาดไหนใน 1 record เพราะถ้าเยอะมาก DB ก็บวมเหมือนกัน

ไม่งั้นเว็บฝากรูป ฝากไฟล์ คงเอาไฟล์ยัด DB หมดแล้วล่ะ



สรุปแล้ว จริงๆ ต้องดูหลายอย่างประกอบนะครับ ว่าจะเลือกใช้อะไร แต่ก็ไม่แนะนำให้เก็บ 5 แสนไฟล์ใน 1 folder



ถ้าข้อมูลใน 1 Record มีขนาดใหญ่แอบเชียร์ MongoDB เป็นทางเลือกครับ  :wanwan004:

EntServ

จริงๆแล้วไม่ว่าทางไหนก็ใช้เวลาทั้งคู่ เพียงแต่เวลาที่ทั้งสองใช้ มันเป็นเวลาที่เราสามารถรอได้

แล้วถ้ามันเป็นอย่างนี้แล้ว ทำไมไม่เลือกทางที่เด่นด้านอื่นมากกว่าอีกทาง
รับทำระบบ Streaming Server อยากได้เว็บสตรีมมิ่งหล่อๆ ติดต่อ PM ครับ

Kusumoto

ผมสนับสนุนให้ใช้ record เช่นกันครับ เพราะว่ามันโดนออกแบบมาให้ทำงานแบบนี้มาอยู่แล้ว น่าจะไม่มีปัญหา
[direct=http://kusumotolab.com]Kusumoto Blog![/direct]
[direct=http://twitter.com/kusumoto_ton]My Twitter[/direct]
รับออกแบบและทำเว็บไซต์ ออกแบบระบบเครือข่าย

gilbert

อ่านจากแถบแม่เหล็ก กับอ่านจาก Buffer ท่านคิดว่าแบบใหนไวกว่ากัน

ตอบให้ครับ Database เร็วกว่าแน่นอน

psuriya

รับพัฒนาและแก้ไขเว็บไซต์ด้วย Django

01111225

TonRuk.com ยินดีตอนรับทุกท่าน[direct=http://game.tonruk.com]เกมส์ฟรี[/direct] เว็บเรามีเกมส์ให้เล่นมากมายหลายแบบแล้วเรายังมี[direct=http://game.tonruk.com/new.php]เกมส์ใหม่[/direct] ค้นรักของเรายังเป็นศูนย์รวมบันเทิงวาไรตี้ด้วยมาติดตามกันได้ที่[direct=http://www.rukanime.com]อนิเมะ[/direct] เรายังมีAnimeใหม่ๆแล้วยังมีเกมส์ที่ฮิตฮอตให้เล่นกันมากมายเลย[direct=http://game.tonruk.com/hit.php]เกมส์ฮิต[/direct] ทุกอย่างฟรี ฟรีๆๆครับ ถ้าคุณดวงกำลังตกเข้ามาแก้ไขดวงเซ็คดวงชะตาได้เลย[direct=http://horoscope.tonruk.com/]ดูดวง[/direct]กันฟรีๆๆไปเลย

lojoman

ถ้าเป็นแบบนี้ จากการที่ผมได้เรียนมาครับ ผมว่าต้องใช้ทั้งสองอย่างรวมกัน คือเก็บ หน้าจอทั้งหน้าจอบนบน text แล้งเก็บ index ไว้บนdatabase ครับ แต่จะเก็บบน data base ทั้งหมด นั้นน่าจะช้ากว่า นะครับ :wanwan019:
[direct=http://www.noobthink.com][/direct]
ขายประกันชีวิตด้วยนะครับ สนใจ [direct=http://www.thaiseoboard.com/index.php?action=pm;sa=send;u=3638]PM[/direct]  มาได้นะครับรับเฉพาะเชียงใหม่ ลำพูน นะครับ

icez

ถ้าปริมาณเยอะขนาดนี้ แล้วทำ optimize สูงสุดทั้งคู่ database เร็วกว่าชัวร์ 100% ครับ
แต่ถ้าไม่มี optimize อะไรที่ db เลย (ไม่ทำ index ไม่ปรับ buffer) อะไรพวกนี้ file เร็วกว่าครับ
[direct=http://www.thzhost.com/]THZHost[/direct] SSD Hosting ไทย/สิงคโปร์ พร้อม firewall ป้องกันการยิงเว็บ + scan ไวรัสในเว็บ

MapTwoZa

อ้างถึงจาก: gilbert ใน 25 ธันวาคม 2012, 21:23:07
อ่านจากแถบแม่เหล็ก กับอ่านจาก Buffer ท่านคิดว่าแบบใหนไวกว่ากัน

ตอบให้ครับ Database เร็วกว่าแน่นอน

ตามนี้เลยครับ


การอ่านจาก file ตรงๆ เราไม่ได้เขียนตัว manager ไว้ครับ ดังนั้นมันคืออ่านจาก storage ตรงๆ
ต่างกับ database ซึ่งมันมีตัว manager ครับ มี algorithm ในการโหลดพวก data ไว้ใน memory  ซึ่ง memory ไวกว่า storage เยอะครับ
ยิ่งถ้ามีการอ่าน record เดิมซ้ำๆนี่ไม่ต้องพูดถึงครับ
Good code quality Developer :D