🔥 และในวันนี้ แอดจะพาเพื่อน ๆ มาทำความรู้จักกับอีกหนึ่งคำสั่งเจ๋ง ๆ ใน SQL นั่นก็คือเจ้า EXPLAIN นั่นเองจ้าาา ~~
.
👉 เจ้านี่มันคืออะไร มีรายละเอียดและวิธีการใช้งานยังไง ถ้าพร้อมแล้วมาอ่านกันเลยยย !!
.
✨ EXPLAIN - เป็นคำสั่งที่ใช้บอกรายละเอียดในการ Query ข้อมูล เพื่อใช้วัดประสิทธิภาพในการ Query ข้อมูลนั่นเอง
.
👨💻 Syntax
EXPLAIN (QUERY Statement) ; /* ONLY TAKES COMMAND AS PARAMETER */
.
เจ้า EXPLAIN สามารถใช้นำหน้าคำสั่ง SELECT, UPDATE, INSERT และ DELETE ได้
.
📑 วิธีการใช้งาน
🔸 Query ปกติ
SELECT * FROM demo_table WHERE demo_column = 'Demo Value';
.
🔸 Query โดยใช้ EXPLAIN
EXPLAIN SELECT * FROM demo_table WHERE demo_column = 'Demo Value';
.
จะได้ผลลัพธ์ ดังนี้
id: 1
select_type: SIMPLE
table: demo_table
partitions: NULL
type: const
possible_keys: PRIMARY
key: PRIMARY
key_len: 4
ref: const
rows: 1
filtered: 100.00
Extra: NULL
.
🔸 id - id ของ Query EXPLAIN
🔸 select_type - แสดงความซับซ้อนของ Query ผลลัพธ์ด้านบนจะอยู่ในระดับ SIMPLE
🔸 table - แสดงชื่อของตาราง
🔸 partitions - แสดง Partitions ของตารางที่ใช้ใน Query
🔸 type - ระบุประเภทของการ Join
🔸 possible_keys - แสดง Key ที่ใช้
🔸 key - แสดงความยาวของ Key ที่ใช้
🔸 ref - การอ้างอิงที่ใช้ใน Query เมื่อทำการ Comparing Columns
🔸 rows - แสดงจำนวนแถว
🔸 filtered - แสดงเปอร์เซ็นต์ของแถวตามเงื่อนไขที่ระบุ
🔸 Extra - ข้อมูลเพิ่มเติมของ Query
.
🌟 ประโยชน์
- ใช้เพื่อแสดงข้อมูลเกี่ยวกับการ Query
- มีประโยชน์มากในการออกแบบ Schema และ Index
- ใช้ตรวจสอบคำสั่ง Query ว่ามีประสิทธิภาพหรือไม่ เช่น วัดความเร็วในการ Query, ตรวจสอบการแบ่ง - Partition ของตาราง เป็นต้น
- ช่วยเพิ่มประสิทธิภาพในการ Query ข้อมูลใน Database
.
💥 Source : https://arctype.hashnode.dev/mysql-understanding-explain , https://www.geeksforgeeks.org/explain-in-sql/
.
borntoDev - 🦖 สร้างการเรียนรู้ที่ดีสำหรับสายไอทีในทุกวัน
同時也有1部Youtube影片,追蹤數超過12萬的網紅prasertcbs,也在其Youtube影片中提到,การใช้ sqlite3 package เพื่อดึงข้อมูลจากฐานข้อมูล พร้มอกับเทคนิคการผ่านพารามิเตอร์ไปให้ชุดคำสั่ง SELECT การใช้ row_factory เพื่อให้สามารถอ้างถึงคอลัม...
select index sql 在 91 敏捷開發之路 Facebook 的最讚貼文
Entity Framework Performance and What You Can Do About It
傳送門:https://www.simple-talk.com/…/entity-framework-performance…/
很多時候 ORM 慢,不是本身慢,而是使用 ORM 的人犯了幾個不該犯的錯誤,下列列出該注意的事項:
① model還沒給條件,就觸發執行 SQL 的問題
② "N+1" Select 的問題(沒有一次把要用到的關聯資料撈出來)
③ Select * 欄位全撈的問題
④ DataType 不相符的問題
⑤ Miss Index 的問題
⑥ 如何讓查詢計畫 reuse 的問題,例如分頁查詢影響查詢參數的方式
⑦ 批次作業使用 BulkInsert 相關的 API 可以提升 10 倍以上的效能
⑧ 用 AddRange() 取代迴圈裡面的 Add(),搭配AutoDetectChangesEnabled 開關。
※ 範例的效能提升:reduced from 34 seconds down to 85 ms – a 400x speed boost!
⑨ 如果只是要讀資料,沒有要異動,透過 AsNoTracking 關掉 Change tracking。
其他的注意事項,請自行參考文章後半部細節。
#EntityFramework #程式不是會動就好
select index sql 在 prasertcbs Youtube 的最讚貼文
การใช้ sqlite3 package เพื่อดึงข้อมูลจากฐานข้อมูล พร้มอกับเทคนิคการผ่านพารามิเตอร์ไปให้ชุดคำสั่ง SELECT
การใช้ row_factory เพื่อให้สามารถอ้างถึงคอลัมน์ในตารางด้วยชื่อคอลัมน์ แทนที่จะใช้ index number
=== ดาวน์โหลดไฟล์ตัวอย่างได้ที่ hhttps://goo.gl/4dsL4e
=== ดาวน์โหลดไฟล์ฐานข้อมูล SQLite ได้ที่ https://goo.gl/IMlkOM
เชิญสมัครเป็นสมาชิกของช่องนี้ได้ที่ https://www.youtube.com/subscription_center?add_user=prasertcbs
► สอน Python 3 การติดต่อกับฐานข้อมูล https://www.youtube.com/watch?v=2n2SLFET-GU&list=PLoTScYm9O0GEdZtHwU3t9k3dBAlxYoq59
► สอน Python https://www.youtube.com/playlist?list=PLoTScYm9O0GH4YQs9t4tf2RIYolHt_YwW
► สอน Python OOP https://www.youtube.com/playlist?list=PLoTScYm9O0GEIZzlTKPUiOqkewkWmwadW
► สอน Python GUI https://www.youtube.com/playlist?list=PLoTScYm9O0GFB1Y3cCmb9aPD5xRB1T11y
► สอน Microsoft SQL Server https://www.youtube.com/playlist?list=PLoTScYm9O0GH8gYuxpp-jqu5Blc7KbQVn
► สอน MySQL https://www.youtube.com/playlist?list=PLoTScYm9O0GFmJDsZipFCrY6L-0RrBYLT
► สอน PostgreSQL https://www.youtube.com/playlist?list=PLoTScYm9O0GGi_NqmIu43B-PsxA0wtnyH
► สอน SQLite https://www.youtube.com/playlist?list=PLoTScYm9O0GHjYJA4pfG38M5BcrWKf5s2
► การเชื่อมต่อกับฐานข้อมูล (SQL Server, MySQL, PostgreSQL, SQLite) ด้วย Python ► https://www.youtube.com/playlist?list=PLoTScYm9O0GEdZtHwU3t9k3dBAlxYoq59
#prasertcbs_SQL #prasertcbs #prasertcbs_python
