|
|
|
ขอถามเกี่ยวกับการเพิ่มข้อมูลลงฐานข้อมูล คือระบบที่ผมทำมีการลงทะเบียน |
|
|
|
|
|
|
|
ไม่มีใครตอบเลย
ผมไปเจอ การ lock Tabel แต่ยังไม่ค่อยตรงจัย ถ้า lock ทั้ง tabel มันจะทำหั้ยคนอื่นใช้ไม่ได้เลย ใครมีวิธีอื่นไหมเอ่ย
|
|
|
|
|
Date :
2010-06-29 14:00:28 |
By :
aimoomoo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
มีสักตัวอย่างไหมครับ
|
|
|
|
|
Date :
2010-06-29 14:01:39 |
By :
Dragons_first |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอดูตัวอย่างตรงไหนครับ
|
|
|
|
|
Date :
2010-06-29 14:41:10 |
By :
aimoomoo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CODE นี้ไม่น่าจะต้อง lock อะไรทั้งนั้น
เพียงแค่คุณออกแบบ interface และ response user ให้เดี
ก็น่าจะใช้งานได้ดีค่ะ
เช่น มา logon 1000 คน จาก quota 10 ที่
คุณก้อแจ้งไป
พอเริ่มมีการ take quota คนไหนได้ไม่ได้
คุณก็ response ไปว่า กดไม่ทัน
มั้งคะ
|
|
|
|
|
Date :
2010-06-29 15:00:26 |
By :
blurEyes |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
มันไม่ใช่แบบนั้นครับคุณลองอ่านความต้องการผมใหม่อีกนิดครับ
ปัญหาของผมอยู่ตรง User กด บันทึกพร้อมกันต่างหากครับ.
|
|
|
|
|
Date :
2010-06-29 16:19:00 |
By :
aimoomoo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถ้ากดพร้อมกันเลยแล้วข้อมูลก็คือเข้าไปทั้งสองอันเลยหรือเปล่าครับ
มันถึงได้เกิน
ถ้างั้นทำอย่างนี้ได้ไหมครับสมมติว่ามันเกินไปแล้ว
ก็ทำการเช็คว่าเกินแล้ว แล้วให้ทำการ delete ข้อมูลที่เกินมา
สมมติว่ากดพร้อมกันรับ 49 เกินเป็น 51 คนที่จะมากดเข้ามาก็ทำการเช็คในฐานข้อมูลเเลยว่ามันเกินแล้ว
และทำการลบ คนที่ 51 ออกไป
|
|
|
|
|
Date :
2010-06-29 16:34:12 |
By :
oxygenyoyo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขออนุญาติทวนการทำงานระบบ ก่อนเพื่อเข้าใจตรงกันนะครับ
1.มีการกำหนดจำนวนกลุ่ม ผู้ใช้ จำนวนกุล่มแต่ละกลุ่มไม่เท่ากัน ( ไม่ได้ใช้การ Lock table )
2. การป้องกัน
2.1. หลักการ คือ ใช้การ Lock ไม่ให้สามารถเลือกกลุ่มได้ หากกลุ่มนั้นเต็มตามที่กำหนดแล้ว
2.2. ตรวจสอบจำนวนสมาชิกอีกครั้ง ก่อนทำการ insert ว่า ในกลุ่มน้นครบตามจำนวนแล้วหรือยัง
ทั้ง 2 วิธี ก็หลุด ในกรณีที่มี ผู้เข้ามาพร้อมกันเกินจากเนื้อที่เหลืออยู่ จากที่กำหนดใช้มะ ครับ
|
|
|
|
|
Date :
2010-06-29 16:42:51 |
By :
ขนมหม้อแกง |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตอนแรก ก็คิดอย่างคุณ OxyGenyoyo
แต่คิดดูอีกที่ มันใจร้าย กับคนที่ 51 จัง
|
|
|
|
|
Date :
2010-06-29 16:44:34 |
By :
ขนมหม้อแกง |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คุณ OxyGenyoyo เข้าจัยถูกแล้วครับ
แต่หั้ยไปลบออกคงเป็นไปไม่ได้ ระบบของผมคือระบบลงทะเบียนเรียนครับ มันเข้าไปแล้วนักศึกษาก้จะคิดว่าเขาได้ลงทะเบียนแล้ว แล้วเขาก็ logout ออกไปแล้วรออาจารย์มายืนยันในระหว่างนั้นคนนี้ เป็นคนที่51 อย่างที่คุณ OxyGenyoyo ว่า วิชาดังกล่าวก็เลยไม่ถูกบันทึกลงไป อาจารย์ที่ปรึกษาก็ไม่ยืนยันการลงทะเบียน หรืออาจารย์ที่ปรึกษาต้องการให้ลงวิชานี้ หรือ ต้องการเปลี่ยนกลุ่มก็คงอาจจะไม่ทันแล้ว เพราะอาจจะมีคนเลือกเต็มแล้ว ทำให้คนนี้เสีย โอกาศการลงวิชานี้ใน เทอมนี้ไปเลยนะครับ ถ้าเกิดแบบนี้มีปัญหาแน่ มหาลัย inter ครับนิดหน่อยก็เรื่องใหญ่
อย่างน้อยต้องหั้ยรู้นะตอนนัน้เลยว่ามันลงไม่ได้ นักศึกษาได้แก้ไขทัน
แต่ยังงัย ความคิดของคุณ OxyGenyoyo ก็ OK ในระดับหนึ่งเดียวผมลองไปปรับปรุ่งดู
ใครมีอารายเสนอแนะขอหน่อยนะครับ ผมจะได้ปรับปรุงหั้ยดีขึ้น ขอบคุณล่วงหน้าเลยครับ
ปล.
คัยงงคำถาม ตามความเห็น ที่ No. 7 เลยครับตามนั้นเลยครับ
|
|
|
|
|
Date :
2010-06-29 16:58:41 |
By :
aimoomoo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ที่ทำคือ machine 2 machine insert update ค่ะ
user ที่ access พร้อมกัน มากกว่า 100 user อัตราการ insert/update นับเป็น วินาที
เช่น 120 record/second ไปจนถึง 10000 r/s ถ้าจะให้อธิบายอย่างละเอียดคงยาวเป็นเล่ม
เพราะจะเริ่มตั้งแต่การออกแบบ engine ที่ใช้ แต่ก็ใช้ server ธรรมดานี่แหละค่ะ
สงสัยมองคนละมุมอะค่ะ
ส่วนตัวก้อยังคงคิดว่าไม่ต้อง lock
ถ้าไม่ตรงกับที่ต้องการ งั้นลองพิจารณา solution อื่นนะคะ
|
|
|
|
|
Date :
2010-06-30 08:16:51 |
By :
blurEyes |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Mr.Win มีความคิดเห็นมั้ยครับ
|
|
|
|
|
Date :
2010-06-30 15:37:40 |
By :
aimoomoo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
พร้อมกันเด๊ะๆ คงมีเปอร์เซ็นน้อยมากครับ (แต่ก็ไม่ใช่ว่าไม่มี) แต่อยู่ที่จังหวะและทรัพยากร คนที่กดคนที่ 51 อาจจะได้คนที่ 50 ได้เพราะเน็ตเร็วกว่า อันนี้ช่วยคิด
|
|
|
|
|
Date :
2010-06-30 22:54:06 |
By :
plakrim |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถูกต้อง แล้วครับ คุณ PlaKriM อย่างน้อยก็มีคนเข้าใจผม
ที่เคยเกินมากสุด 5 คนแน่ะ คิดแล้วเส้ด..!
|
|
|
|
|
Date :
2010-07-03 09:04:57 |
By :
aimoomoo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอยกคำถามนี้มาอีกครั้งนะครับ เพราะจะนำระบบไปใช้งานจริงแล้วครับ
เพื่อจะมีผู้รู้ช่วยแนะนำ
|
|
|
|
|
Date :
2010-07-27 15:13:04 |
By :
aimoomoo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|