กระทู้เก่าบอร์ด อ.Yeadram
2,169 5
URL.หัวข้อ /
URL
อยากทราบระยะเวลาที่ควรจะเป็น ของ Access ค่ะ
ขอเรียนถามท่านผู้มีประสบการณ์ การใช้ Access ทุกท่านค่ะ ว่า ระยะเวลาในการใช้ Access นั้น ขนาดไหน จึงเรียกว่า ปกติ และขนาดไหนจึงเรียกว่า ช้าผิดปกติ
เช่น การเปิดฟอร์มหรือเปิดรายงานแต่ละหน้านั้น ควรใช้เวลาไม่เกินกี่วินาที
คือหนู อยากทราบว่า เขาดูหรือสังเกตจากตรงไหนกันบ้าง ว่า
" เนี่ย...มันเริ่มทำงานช้าผิดปกติแล้วนะ จะต้องรีบแก้หาสาเหตุ หรือถึงเวลาต้องขยับขยายไปใช้ฐานข้อมูลระบบอื่นได้แล้ว "
หนูจะได้นำมาเทียบเคียงกับโปรเจ็คที่หนูทำอยู่ ว่า มันยังอยู่ในเกณฑ์ปกติสบายดีอยู่หรือเปล่า แบบว่าจะได้ไม่อายเขาอะค่ะ
อีกอย่างก็คือ ขนาดของไฟล์แต่ละโปรเจ็ค นั้น ไม่ควรจะเกินกี่ MB. คะ
ขอบคุณค่ะ
เช่น การเปิดฟอร์มหรือเปิดรายงานแต่ละหน้านั้น ควรใช้เวลาไม่เกินกี่วินาที
คือหนู อยากทราบว่า เขาดูหรือสังเกตจากตรงไหนกันบ้าง ว่า
" เนี่ย...มันเริ่มทำงานช้าผิดปกติแล้วนะ จะต้องรีบแก้หาสาเหตุ หรือถึงเวลาต้องขยับขยายไปใช้ฐานข้อมูลระบบอื่นได้แล้ว "
หนูจะได้นำมาเทียบเคียงกับโปรเจ็คที่หนูทำอยู่ ว่า มันยังอยู่ในเกณฑ์ปกติสบายดีอยู่หรือเปล่า แบบว่าจะได้ไม่อายเขาอะค่ะ
อีกอย่างก็คือ ขนาดของไฟล์แต่ละโปรเจ็ค นั้น ไม่ควรจะเกินกี่ MB. คะ
ขอบคุณค่ะ
5 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R05347
อ. แดน แนะนำว่าลอง design การจัดเก็บข้อมูล หรือ การเรียกดูข้อมูลแบบใหม่
หนูรบกวน อ. แดน ช่วยขยายความนิดนึงค่ะว่า แนวการออกแบบควรเป็นอย่างไร ควรระวังส่วนไหนบ้าง
text size หนูได้ fit ตามขนาดข้อมูลจริงอยู่แล้วค่ะ
ดูจาก อ. สันติสุข บอกว่า ถ้าไม่เกิน 7 วินาที ก็ยังไม่ถือว่าช้า
ค่อยสบายใจหน่อย เพราะโปรเจ็คที่หนูทำขณะนี้ ยังไม่เกิน 7 วินาทีค่ะ
ขอบคุณอาจารย์ทั้งสองค่ะ
หนูรบกวน อ. แดน ช่วยขยายความนิดนึงค่ะว่า แนวการออกแบบควรเป็นอย่างไร ควรระวังส่วนไหนบ้าง
text size หนูได้ fit ตามขนาดข้อมูลจริงอยู่แล้วค่ะ
ดูจาก อ. สันติสุข บอกว่า ถ้าไม่เกิน 7 วินาที ก็ยังไม่ถือว่าช้า
ค่อยสบายใจหน่อย เพราะโปรเจ็คที่หนูทำขณะนี้ ยังไม่เกิน 7 วินาทีค่ะ
ขอบคุณอาจารย์ทั้งสองค่ะ
3 @R07824
มีใครพอจะรู้มั้ยครับว่าAccessสามารถBack up ไฟล์ที่มีตารางเชื่อมโยงโดยที่ไฟล์ที่ Back up ไปแล้วในส่วนของตารางเชื่อมโยงจะต้องหยุดรับข้อมูล
หรือไม่ก็พอจะมีวิธีให้Access Save เป็นไฟล์ใหม่ได้หรือไม่ครับ
ที่ต้องการแบบนี้เพราะงานที่ผมทำมันเก็บข้อมูลทุกวินาทีเลยทีเดียว
อีกอย่างนึงผมไม่ค่อยมีความรู้เกี่ยวกับเรื่องฐานข้อมูลซักเท่าไหร่เลย
ตอนนี้ตารางผมมีล้านกว่าRecordแล้วอ่าครับ แต่เวลาเปิดก็ไม่ได้ช้าอารายนะคับ
จะช้านิดหน่อยก็ตอนเปิดรายงานเนี่ยแหล่ะประมาน5วิ เพราะมี6หมื่นกว่าหน้าแหน่ะ
หรือไม่ก็พอจะมีวิธีให้Access Save เป็นไฟล์ใหม่ได้หรือไม่ครับ
ที่ต้องการแบบนี้เพราะงานที่ผมทำมันเก็บข้อมูลทุกวินาทีเลยทีเดียว
อีกอย่างนึงผมไม่ค่อยมีความรู้เกี่ยวกับเรื่องฐานข้อมูลซักเท่าไหร่เลย
ตอนนี้ตารางผมมีล้านกว่าRecordแล้วอ่าครับ แต่เวลาเปิดก็ไม่ได้ช้าอารายนะคับ
จะช้านิดหน่อยก็ตอนเปิดรายงานเนี่ยแหล่ะประมาน5วิ เพราะมี6หมื่นกว่าหน้าแหน่ะ
4 @R07858
Access ไม่มีคุณสมบัติในการทำ On-Line Backup ครับ แต่ไม่ได้หมายถึงเขาจะป้องกันการก๊อปปี้ไฟล์ แต่การก๊อปปี้ไประหว่างการใช้งานจะทำให้ได้ชุดก๊อปปี้ที่มีข้อมูลไม่ถูกต้อง ยัง
ไงก็ต้องหยุดใช้งานถึงจะก๊อปปี้ไฟล์ไปเป็นชุดแบ็คอัพครับ แต่ฐานข้อมูลถูกใช้งานตลอด 24 เลยหรือ ปกติก็คือสั่งทำชุดแบ็คอัพตอนกลางคืนเมื่อไม่มีคนใช้งาน โดยเขียน batch command หรือ script ภาษาอะไรก็ได้ที่คุณถนัด แล้วตั้งเวลาเป็น Scheduling Task ด้วยระบบ Windows เอง ผมแนะนำว่า batch command ที่เขียนนั้นให้ Rename ชื่อฐานข้อมูลหรือชื่อโฟลเดอร์ที่ฐานข้อมูลอยู่นั้นไปเลยก่อนการแบ็คอัพ เพราะถ้าทำได้ก็แปลว่าไม่มีใครใช้ฐานข้อมูลอยู่ และเป็นการป้องกันไม่ให้ใครมาใช้ระหว่างการแบ็คอัพด้วย เมื่อแบ็คอัพเสร็จแล้วค่อย Rename ชื่อกลับครับ
แต่ถ้าถูกใช้งาน 24 ชม.เลย ก็ต้องเขียนโปรแกรมให้ก๊อปปี้เทเบิลต่างๆไปไว้ในแบ๊คอัพไฟล์เอาเอง โดยเลือกเฉพาะเรคอร์ดที่คุณคิดว่านิ่งแล้ว เช่น เรคอร์ดทั้งหมดจนถึงข้อมูลของเมื่อวาน เป็นต้น เมื่อก๊อปปี้หมดแล้ว คุณก็เก็บชุดแบ็คอัพไฟล์ไว้ที่ปลอดภัยครับ
ไงก็ต้องหยุดใช้งานถึงจะก๊อปปี้ไฟล์ไปเป็นชุดแบ็คอัพครับ แต่ฐานข้อมูลถูกใช้งานตลอด 24 เลยหรือ ปกติก็คือสั่งทำชุดแบ็คอัพตอนกลางคืนเมื่อไม่มีคนใช้งาน โดยเขียน batch command หรือ script ภาษาอะไรก็ได้ที่คุณถนัด แล้วตั้งเวลาเป็น Scheduling Task ด้วยระบบ Windows เอง ผมแนะนำว่า batch command ที่เขียนนั้นให้ Rename ชื่อฐานข้อมูลหรือชื่อโฟลเดอร์ที่ฐานข้อมูลอยู่นั้นไปเลยก่อนการแบ็คอัพ เพราะถ้าทำได้ก็แปลว่าไม่มีใครใช้ฐานข้อมูลอยู่ และเป็นการป้องกันไม่ให้ใครมาใช้ระหว่างการแบ็คอัพด้วย เมื่อแบ็คอัพเสร็จแล้วค่อย Rename ชื่อกลับครับ
แต่ถ้าถูกใช้งาน 24 ชม.เลย ก็ต้องเขียนโปรแกรมให้ก๊อปปี้เทเบิลต่างๆไปไว้ในแบ๊คอัพไฟล์เอาเอง โดยเลือกเฉพาะเรคอร์ดที่คุณคิดว่านิ่งแล้ว เช่น เรคอร์ดทั้งหมดจนถึงข้อมูลของเมื่อวาน เป็นต้น เมื่อก๊อปปี้หมดแล้ว คุณก็เก็บชุดแบ็คอัพไฟล์ไว้ที่ปลอดภัยครับ
5 @R08024
วิธี1
ตารางที่คุณเชื่อมมาน่าจะเป็น Table ที่เป็นการลิงค์นะครับ และถ้าแชร์กันในหลายๆ เครื่องในวงแลนด้วยยิ่งช้าไปใหญ่ วิธีแก้คือ สร้างตารางที่เป้นตารางที่ไม่ลิงค์
แล้วโยนข้อมูลเข้าใส่ตารางที่ไม่ได้ลิงค์ แต่ก็ไม่ควรใช้กับตารางที่ต้องเชื่อมกับฐานข้อมูลตลอดเวลา หรือข้อมูลที่มีการเคลื่อนไหวบ่อยๆ เวลาใช้ก็เขียน Macro อับเดทตอนเริ่มใช้โปรแกรม จะช่วยให้เร็วขึ้นได้
วิธีที่ 2
1. Database ที่ sql Server (ไม่ใช่ Express นะ)
2. สร้าง odbc ของ sql Server (รายละเอียดหาในเว็บ)
3. ทำการ upsizesing ที่เมนู Tool > upsizing แบบ Link กับ sql Server
มันจะแปลง Data ไปอยู่ใน sql Server ทันที เหมือนสร้าง Table ใน sql Server
แต่ใช้ Access เป็นหน้ากาก
ตารางที่คุณเชื่อมมาน่าจะเป็น Table ที่เป็นการลิงค์นะครับ และถ้าแชร์กันในหลายๆ เครื่องในวงแลนด้วยยิ่งช้าไปใหญ่ วิธีแก้คือ สร้างตารางที่เป้นตารางที่ไม่ลิงค์
แล้วโยนข้อมูลเข้าใส่ตารางที่ไม่ได้ลิงค์ แต่ก็ไม่ควรใช้กับตารางที่ต้องเชื่อมกับฐานข้อมูลตลอดเวลา หรือข้อมูลที่มีการเคลื่อนไหวบ่อยๆ เวลาใช้ก็เขียน Macro อับเดทตอนเริ่มใช้โปรแกรม จะช่วยให้เร็วขึ้นได้
วิธีที่ 2
1. Database ที่ sql Server (ไม่ใช่ Express นะ)
2. สร้าง odbc ของ sql Server (รายละเอียดหาในเว็บ)
3. ทำการ upsizesing ที่เมนู Tool > upsizing แบบ Link กับ sql Server
มันจะแปลง Data ไปอยู่ใน sql Server ทันที เหมือนสร้าง Table ใน sql Server
แต่ใช้ Access เป็นหน้ากาก
Time: 0.3136s
ไฟล์ .mdb มีขนาดได้ไม่เกิน 2 GB แต่ขนาดของไฟล์ที่ใหญ่ขึ้นไม่ได้เป็นตัวบ่งบอกเสมอไปว่าจะทำให้ performance นั้นช้า มันขึ้นกับปัจจัยอื่นๆเยอะแยะ ระบบที่ลูกค้าผมใช้อยู่ตอนนี้มีไฟล์ใหญ่เกือบเต็ม 2 GB ทุกปีต้องทำการย้ายข้อมูลเก่าออก ก็จะทำให้ลดลงมาเหลือที่ 1.3 GB ซึ่งก็ไม่ได้ช้าอะไร ในกรณีที่แย่มากๆ เวลาเปิดฟอร์มที่มีเป็นเรคอร์ดเป็นหลายหมื่นเรคอร์ดก็ยังใช้เวลาไม่เกิน 10 วินาที โดยทฤษฏี(อะไรก็ไม่รู้จำไม่ได้แล้ว)เขาบอกว่าคนเราจะยอมรอได้ถ้าไม่เกิน 7 วินาที ถ้าช้ากว่านั้น มักจะบอกว่าช้าแล้ว แต่ก็ขึ้นกับประเภทงานด้วยนะครับ งานที่เป็น Real Time จริงๆ แค่รอ 2 วินาทีก็แย่แล้ว ดังนั้นควรมีการคุยกันแล้วกำหนดว่า ระบบงานที่ใช้อยู่นั้น แค่ไหนถึงเรียกว่า ยอมรับได้และทำได้จริงด้วย
ลองอ่าน http://www.granite.ab.ca/access/performancefaq.htm ดูครับ จะเห็นว่ามีเรื่องที่ต้องทำเพื่อปรับปรุงให้ระบบมันมี performance ที่ดีอยู่เยอะแยะมากเลย