ฉันแค่อยากรู้ว่า SQL Devs เขียนโค้ดด้วยมือเปล่าหรือพวกมันใช้ประโยชน์จากนักออกแบบคิวรี่ภาพเพื่อสร้างคิวรี? ในกรณีส่วนใหญ่ตัวออกแบบคิวรีสามารถสร้างคิวรีที่ไม่ซับซ้อนได้ใช่หรือไม่ (ฉันเป็น WinForms dev เพิ่งเริ่มต้นกับ SQL Server)
ฉันแค่อยากรู้ว่า SQL Devs เขียนโค้ดด้วยมือเปล่าหรือพวกมันใช้ประโยชน์จากนักออกแบบคิวรี่ภาพเพื่อสร้างคิวรี? ในกรณีส่วนใหญ่ตัวออกแบบคิวรีสามารถสร้างคิวรีที่ไม่ซับซ้อนได้ใช่หรือไม่ (ฉันเป็น WinForms dev เพิ่งเริ่มต้นกับ SQL Server)
คำตอบ:
ฉันไม่สามารถพูดกับคนอื่นได้ แต่ฉันมักจะพิมพ์ SQL ใน "มือเปล่า" ตามที่คุณวางไว้ นักออกแบบคิวรีแบบวิชวลส่วนใหญ่ดูเหมือนจะ (สำหรับฉัน) เพื่อเพิ่มความซับซ้อนแทนที่จะลดลง ฉันควรเพิ่มว่าฉันไม่ได้เขียน SQL ที่ใดก็ได้ใกล้เคียงกับแบบเต็มเวลาเช่นกัน
ฉันแน่ใจว่ามันขึ้นอยู่กับ แต่ฉันไม่เคยใช้นักออกแบบภาพ เมื่อคุณมีความรู้สึกที่ดีเกี่ยวกับ SQL และคิดใน SQL การเขียนมันจะกลายเป็นเรื่องที่สอง ฉันจะมีเวลาที่น่าผิดหวังมากขึ้นในการใช้ Visual Designer ใด ๆ มากกว่าแค่เขียน SQL ดิบ
ฉันจะบอกว่าส่วนใหญ่ของ devs ที่มีประสบการณ์พอสมควรเขียนด้วยมือ ฉันแน่ใจว่าผู้ที่เพิ่งเริ่มต้นใหม่หรือผู้ที่เพิ่งจบอาจใช้นักออกแบบการมองเห็น แต่เมื่อคุณมีพื้นฐานของ SQL ที่เรียนรู้การเขียนด้วยมือแล้วจะเร็วขึ้นมาก
ฉันพบว่านักออกแบบคิวรีมักจะช้าและยุ่งยากและไม่สามารถจัดการคิวรีที่ซับซ้อนได้เสมอ หลายครั้งที่ฉันต้องคัดลอก / วางแบบสอบถามไปยังเครื่องมือบางอย่าง (โดยทั่วไปคือ Access / Excel) ซึ่งใช้เวลาซักสองสามนาทีก่อนที่จะประกาศว่ามันไม่สามารถจัดการได้และจะส่งข้อความไปให้ฉัน โหมด.
เมื่อใดก็ตามที่ฉันต้องการเรียนรู้เครื่องมือ / ภาษาใหม่ ฉันบังคับให้ตัวเองพิมพ์ด้วยมือ HTML, XAML, SQL ด้วยวิธีนี้ฉันรู้วิธีแก้ไขสิ่งที่นักออกแบบพ่นออกมา เมื่อฉันเก่งในการเขียนด้วยมือฉันก็บังคับตัวเองให้เรียนรู้นักออกแบบเท่าที่จะทำได้
การเป็นคนดีกับทั้งคู่ช่วยให้คุณมีสิ่งที่ดีที่สุดทั้งสองโลก ... มีบางสิ่งที่จะมีประสิทธิภาพมากกว่าสำหรับนักออกแบบและคนอื่น ๆ ที่มีประสิทธิภาพในการเขียนโค้ดมากกว่า การสอนตัวเองทั้งสองช่วยให้คุณหลีกเลี่ยงข้อบกพร่องของทั้งคู่
ฉันไม่ได้ใช้แบบสอบถามสร้างเพื่อสร้างคำสั่งของฉันฉันสร้างพวกเขาด้วยมือแรก (ส่วนใหญ่เป็นเพราะอะไร query designer
แต่ขำเล็กน้อยของการค้นหายากที่จะเขียนใน
แต่ในระบบขนาดใหญ่มันไม่เพียงพอ ส่วนใหญ่ระบบ DB Query Execution Plan
น้ำหนักหนักให้เป็นเครื่องมือในการวิเคราะห์แบบสอบถามที่จะใช้แบบสอบถามและแสดงให้คุณเห็น จากนั้นคุณสามารถใช้สิ่งนี้ (พร้อมเครื่องมืออื่น ๆ ) เพื่อลองและเพิ่มประสิทธิภาพการสืบค้น
ไม่เพียงช่วยในการสืบค้นเท่านั้น แต่ยังให้การบ่งชี้ว่าตารางใดที่จำเป็นต้องมีการจัดทำดัชนีและวิธีที่ควรทำดัชนี แต่ยังมีเทคนิคที่อาจเป็นไปได้ในการแบ่งพาร์ติชันข้อมูล
ฉันจะบอกว่าฉันไม่เคยเห็นใครใช้ตัวออกแบบคิวรีแบบเห็นภาพ
ตัวฉันเองไม่เคยใช้มันเลย
เมื่อฉันไม่รู้สกีมาเป็นอย่างดีฉันมักจะใช้ตัวออกแบบคิวรี สิ่งนี้ช่วยให้ฉันเรียนรู้สคีมา ในภายหลัง ... การพิมพ์เร็วกว่าการวาดมาก
ฉันจะไม่พิจารณาใช้นักออกแบบเพื่อเขียนคำสั่งของฉัน ฉันรู้ว่า schemas ฐานข้อมูลของฉันมีรายละเอียดมาก (และฐานข้อมูลของเรามีหลายร้อยตาราง) และไม่ต้องคิดว่าจะเข้าร่วมกับพวกเขาได้อย่างไรฉันพิมพ์และมีการสืบค้นออกมา
ฉันเขียนข้อความค้นหาทั้งหมดด้วยมือ นักออกแบบภาพส่วนใหญ่จะทำให้คุณช้าลงในขณะที่สแกนหลายร้อยตารางเพื่อนำเสนอให้คุณ การกรอกชื่ออย่างง่ายสำหรับคอลัมน์และชื่อตารางรวมถึงคู่มืออ้างอิงสำหรับฐานข้อมูลเฉพาะของคุณคือทุกสิ่งที่คุณต้องการใช้งาน
โปรดทราบว่าประสบการณ์ของฉันกับนักออกแบบคิวรีแบบเห็นภาพ จำกัด เฉพาะเครื่องมือที่ทำงานกับฐานข้อมูล Oracle
ฉันเขียนโค้ด SQL และ PL / SQL มากมายโดยไม่ต้องใช้ตัวออกแบบคิวรี สำหรับคนที่รู้จัก SQL การใช้เครื่องมือเหล่านั้นเป็นเรื่องยุ่งยาก นั่นจะเหมือนกับการวาดผังงานใน visio และปล่อยให้เครื่องมือสร้างโปรแกรมแทนการเขียนโปรแกรมจริงๆ
ผู้เริ่มต้นเริ่มต้นด้วยการออกแบบและบ่อยครั้งที่เหลือบแรกของรหัส SQL ของพวกเขาถูกสร้างขึ้นที่นั่น มันดูสับสนเกินไปเพราะมันไม่ได้ถูกจัดรูปแบบในแบบที่มีโครงสร้าง / เข้าใจได้ ในที่สุดคุณจะต้องเปลี่ยนเป็นการเข้ารหัสในข้อความและคุณต้องยืดทุกอย่างออก การจัดรูปแบบถูกปิด Intellisense ทำให้มันเป็นวิธีที่นักเขียน sql ฉันเริ่มตะลุยกับคนใดคนหนึ่งตั้งแต่ฉันทำงานกับฐานข้อมูลใหม่
ฉันเขียน Oracle SQL และ PL / SQL หลายพันบรรทัดในปีที่ผ่านมา ส่วนใหญ่ฉันจะเรียกใช้ SqlPlus ในหน้าต่างเชลล์ Emacs ฉันได้ปรับแต่งคำศัพท์ที่ทำให้มีประสิทธิภาพมากขึ้น ผู้ออกแบบคิวรีจะทำให้ฉันช้าลง ถ้าฉันต้องดูชุดผลลัพธ์ที่มีขนาดใหญ่ฉันจะเปิด SqlDeveloper แต่ฉันไม่พยายามเพราะมันช้าและแม้ว่ามันจะสามารถตั้งชื่อตามสคีมาได้มันก็ยังเร็วกว่าที่จะทำงานใน Emacs