ปรับแต่ง SQL ให้เร็วขึ้น

เมื่อคุณ Run SQL Queries แล้วมันทำงานช้าขึ้นมา เราจะต้องกลับเข้าไปดู Queries ที่เขียนว่าจะสามารถแก้ไขจุดที่เป็นต้นเหตุได้อย่างไร บทความนี้เราจะมาแนะนำดูวิธีปรับแต่ง Queries ที่ทำงานช้าให้เร็วยิ่งขึ้นกัน ไม่จำเป็นต้องใช้ข้อมูลทุกอย่าง พิจารณาว่าจำเป็นต้องใช้ SELECT * หรือไม่? ควรจะดึงเฉพาะ Column ที่ต้องการเพื่อให้ได้ผลที่รวดเร็วขึ้น แทนที่จะใช้ SELECT * เพื่อดึงข้อมูลทั้งหมดออกมา หากมี Table ที่มีขนาดใหญ่หรือมีข้อมูลปริมาณมากใน Table ซึ่งมีแนวโน้มที่จะทำให้ Query Engine ต้องทำงานหนักในการดึงข้อมูลทุกอย่างไปสู่ Client Side ก็อย่าลืมที่จะใช้ LIMIT เพื่อจำกัดจำนวนของผลลัพธ์ เว้นเสียแต่ว่าต้องการดูข้อมูลในทุก ๆ Row ระวังการใช้ NOT IN พยายามหลีกเลี่ยงการใช้ ‘IN’ หรือ ‘NOT IN’ เพราะการทำเช่นนี้ หมายถึง กำลัง Scan ทั้ง Table อยู่ เพราะ Query … Read more

แสดงข้อมูล Memory CPU Disk ด้วย C# EP.2

สำหรับ EP นี้เราก็มาถึงวิธีการดึงข้อมูลการใช้งาน CPU กัน เพื่อไม่ให้เป็นการเสียเวลา เรามาเริ่มกันเลย สำหรับการดึงข้อมูลนั้น เราก็สามารถใช้งาน object PerformanceCounter ได้เหมือนเดิม โดยจะต้องระบุ parameter ที่จำเป็นดังนี้ และเมื่อทดลองเรียกใช้งาน จะปรากฏผลดังภาพ จะเห็นว่าผลลัพธ์ออกมาเป็น 0 เนื่องจากค่าที่ได้ จะเป็นค่าที่เกิดจากการเปรียบเทียบกับค่าก่อนหน้า การเรียกใช้งานครั้งแรกจึงแสดงผลเป็น 0 เสมอ เราจึงจำเป็นต้องหน่วงเวลาไว้ประมาณหนึ่ง จากนั้นจึงเรียกใช้งานอีกครั้งจึงจะได้ค่าที่ตรงตามความเป็นจริง ดังตัวอย่างต่อไปนี้ จากตัวอย่าง หลังเรียกใช้งานครั้งแรก จะหน่วงเวลาไว้ 1 วินาที จึงเรียกใช้งานอีกครั้ง ซึ่งเทคนิคนี้ เอกสารของทาง Microsoft ก็ได้ระบุเอาไว้ ดังนี้ If the calculated value of a counter depends on two counter reads, the first read operation returns … Read more

Database Design Tools (2)

 DbVisualizer DbVisualizer เป็น Tool ที่ออกแบบมาสำหรับการจัดการ Database มัน Integrate เข้ากับหลาย Databases และสามารถทำงานกับ Operating System หลัก ๆ ได้ทั้งหมด DbVisualizer มีการ Integrate Interface ที่ใช้งานง่าย มันสามารถถูกใช้เพื่อเรียกดู Schema ที่ซับซ้อนและ Data ที่แก้ไข Interface ช่วยให้ User สามารถทำสิ่งต่าง ๆ เช่น Drag & Drop, Pin Tabs, Detach Tabs ใน Windows ที่แยกออกไป รวมทั้ง Inline Edit Server Management DbVisualizer ช่วยให้ User สามารถจัดการกับ Instances, Security และ Session Storage … Read more

Database Design Tools

Database Design ที่ดีจะช่วยลดงานในส่วน Maintenance ลงได้อย่างมาก และลดโอกาสเกิดข้อผิดพลาดใน Project  เนื่องจากแต่ละ Project  มี Requirements ที่แตกต่างกัน ทำให้การค้นหา Tools ที่เหมาะสมอาจเป็นเรื่องยาก ดังนั้นบทความนี้จะมาแนะนำ Database Design Tools ที่คาดว่าจะมีประโยชน์กับคุณ Toad Data Modeler Toad Data Modeler เป็น Database Modeling Tool ที่ใช้ Automation, Intuitive Workflows และ Built-in Expertise อีกทั้ง Toad ยังเป็น Database Solution ยอดนิยมที่ Community ของมันมีการเติบโตอย่างต่อเนื่อง Toad มี User Interface ที่ช่วยให้ User เข้าใจ Databases และ Table Relationships … Read more

SQL พื้นฐานสำหรับ Data Analyst

สำหรับคนที่มีพื้นฐานหรือเคยใช้งาน SQL มาบ้างแล้ว จะรู้จักคำสั่ง SQL พื้นฐานต่างๆ มีบางส่วนที่ไม่ค่อยใช้งานมัน แต่มันมีประโยชน์อย่างยิ่งโดยเฉพาะสำหรับ Data Analyst เช่น Distinct ในบางครั้ง ถ้าต้องการ Records ของข้อมูลที่ไม่ซ้ำกัน สามารถใช้ Distinct มาช่วยเพื่อให้ได้ข้อมูลที่ไม่ซ้ำกัน โดยใช้งานกับ Columns IN IN Operator ช่วยให้สามารถทดสอบได้ว่า Expression นั้นตรงกับ Value ใด ๆ ใน List ที่ระบุหรือไม่ มันจะช่วยลดการใช้งาน “OR” หลาย ๆ เงื่อนไข Having มันเป็นการใช้เงื่อนไขกับกลุ่มของผลลัพธ์เพื่อกรองข้อมูลออกมา แต่คำถามที่น่าสนใจก็คือ ทำไมถึงไม่ใช้ “WHERE” ที่หลาย ๆ คนคุ้นเคยกันล่ะ แน่นอนว่าเราใช้ “WHERE” เพื่อระบุเงื่อนไขให้กับ Columns ที่เราเลือก ในขณะที่ “HAVING” จะถูกใช้เพื่อระบุเงื่อนไขให้กับ Groups … Read more