ฉันคิดว่าสิ่งเหล่านี้ส่วนใหญ่เป็นเพียงการพยายามหาคำตอบที่ "ถูกต้อง" ดังนั้นคุณอาจค้นพบว่ามีปัญหาเรื่องประสิทธิภาพบางอย่าง ไม่มีจุดในการเร่งแบบสอบถามที่ไม่ถูกต้อง
ทำความเข้าใจกับความสัมพันธ์ของตาราง - ส่วนใหญ่จะเป็นแบบหนึ่งต่อหลาย รู้ตาราง "จำนวนมาก" ระบุฟิลด์ที่จำเป็นสำหรับการเข้าร่วมของคุณ
คิดเกี่ยวกับสถานการณ์เข้าร่วม LEFT - เลือกพนักงานทั้งหมดและเงินเดือนของพวกเขาจากเดือนที่แล้ว เกิดอะไรขึ้นถ้าพวกเขาไม่ได้รับเงินเดือนเมื่อเดือนที่แล้ว?
รู้ชุดผลลัพธ์: 1) ในสเปรดชีตป้อนระเบียนที่ถูกต้องอย่างน้อยหนึ่งรายการสำหรับแบบสอบถามของคุณด้วยตนเอง 2) เขียนแบบสอบถามในรูปแบบที่ง่ายพอที่จะระบุจำนวนระเบียนที่ควรจะถูกส่งกลับ ใช้ทั้งสองอย่างนี้เพื่อทดสอบการค้นหาของคุณเพื่อให้แน่ใจว่าการเข้าร่วมตารางใหม่จะไม่เปลี่ยนแปลงผลลัพธ์
แยกแบบสอบถามของคุณออกเป็นส่วนที่จัดการได้ - คุณไม่จำเป็นต้องเขียนทั้งหมดในครั้งเดียว บางครั้งแบบสอบถามที่ซับซ้อนอาจเป็นเพียงชุดของแบบสอบถามแบบง่าย
ระวังการรวมระดับต่าง ๆ : หากคุณต้องใส่ค่ารายเดือนรายไตรมาสและรายปีในชุดผลลัพธ์เดียวกันคุณจะต้องคำนวณแยกต่างหากในแบบสอบถามที่จัดกลุ่มตามค่าที่แตกต่างกัน
รู้ว่าต้องไป UNIONบางครั้งการแบ่งกลุ่มย่อยออกเป็นคำสั่งที่เลือกไว้ง่ายกว่า หากคุณมีตารางที่ผสมกับผู้จัดการและพนักงานคนอื่น ๆ และในแต่ละคอลัมน์คุณต้องทำคำสั่ง Case ตามการเป็นสมาชิกในหนึ่งในกลุ่มเหล่านี้มันอาจจะง่ายกว่าในการเขียนแบบสอบถามผู้จัดการและเชื่อมโยงไปยังแบบสอบถามพนักงาน แต่ละคนจะมีตรรกะของตัวเอง การรวมรายการต่าง ๆ จากตารางในแถวที่แตกต่างกันเป็นการใช้งานที่ชัดเจน
สูตรซับซ้อน / ซ้อนกัน - พยายามเยื้องสม่ำเสมอและอย่ากลัวที่จะใช้หลายบรรทัด "กรณีเมื่อกรณีเมื่อกรณี" จะผลักดันคุณถั่ว ใช้เวลาในการคิดสิ่งเหล่านี้ผ่าน บันทึก calcs ที่ซับซ้อนเป็นครั้งสุดท้าย รับการบันทึกที่ถูกต้องที่เลือกก่อน จากนั้นคุณโจมตีสูตรที่ซับซ้อนซึ่งรู้ว่าคุณกำลังทำงานกับค่าที่เหมาะสม การเห็นค่าที่ใช้ในสูตรจะช่วยให้คุณมองเห็นบริเวณที่คุณต้องคำนึงถึงค่า NULL และตำแหน่งที่จะจัดการหารด้วยศูนย์ข้อผิดพลาด
ทดสอบบ่อยครั้งเมื่อคุณเพิ่มตารางใหม่เพื่อให้แน่ใจว่าคุณยังคงได้รับชุดผลลัพธ์ที่ต้องการและรู้ว่าการเข้าร่วมหรือข้อใดเป็นผู้กระทำผิด