Remind Note
1.SQL Where DATA without Time
- ใช้ CASE AS Date จะทำงานได้เร็วกว่าการ Convert
Ex Code
SELECT * FROM log_report
WHERE CAST(create_datetime AS DATE) = '2019-03-11'
2. Entity Framework Execute SQL
Short Note
คำสั่ง ExecuteSqlCommand อย่าลืมใส่ TransactionScope ครอบไว้ด้วย เพราะ เป็นการส่งคำสั่งไปทำงานที่ SQL Server เลย (ถ้า Execute ไปแล้ว จะไม่สนใจคำสั่ง SaveChanges()
Ref URL :
https://www.entityframeworktutorial.net/EntityFramework4.3/raw-sql-query-in-entity-framework.aspx
3. SELECT WITH NOLOCK
Short Note
- Select ได้ข้อมูลเร็วมาก เพราะ จะไม่ไปเช็ค State อะไรเลย และ ไม่สนความถูกต้องของข้อมูล
- ควรระวัง กับ ข้อมูลที่ต้องการความถูกต้องสูง เพราะ การ SELECT จะ SELECT Data ณ เวลานั้นเลย แบบไม่รอ State ถ้ามีการเปลี่ยนแปลงเกิดขึ้น พร้อมกัน หรือ หลังจากนั้น ก็จะผิดพลาด
- NoLock not Allowed for (INSERT, UPDATE, DELETE, MERGE) ใช้ไม่ได้นะ
Ex Code
Select * from aTable with (NOLOCK)
Ref URL :
https://stackoverflow.com/questions/210171/effect-of-nolock-hint-in-select-statements
- ใช้ CASE AS Date จะทำงานได้เร็วกว่าการ Convert
Ex Code
SELECT * FROM log_report
WHERE CAST(create_datetime AS DATE) = '2019-03-11'
2. Entity Framework Execute SQL
Short Note
คำสั่ง ExecuteSqlCommand อย่าลืมใส่ TransactionScope ครอบไว้ด้วย เพราะ เป็นการส่งคำสั่งไปทำงานที่ SQL Server เลย (ถ้า Execute ไปแล้ว จะไม่สนใจคำสั่ง SaveChanges()
Ref URL :
https://www.entityframeworktutorial.net/EntityFramework4.3/raw-sql-query-in-entity-framework.aspx
3. SELECT WITH NOLOCK
Short Note
- Select ได้ข้อมูลเร็วมาก เพราะ จะไม่ไปเช็ค State อะไรเลย และ ไม่สนความถูกต้องของข้อมูล
- ควรระวัง กับ ข้อมูลที่ต้องการความถูกต้องสูง เพราะ การ SELECT จะ SELECT Data ณ เวลานั้นเลย แบบไม่รอ State ถ้ามีการเปลี่ยนแปลงเกิดขึ้น พร้อมกัน หรือ หลังจากนั้น ก็จะผิดพลาด
- NoLock not Allowed for (INSERT, UPDATE, DELETE, MERGE) ใช้ไม่ได้นะ
Ex Code
Select * from aTable with (NOLOCK)
Ref URL :
https://stackoverflow.com/questions/210171/effect-of-nolock-hint-in-select-statements
ความคิดเห็น
แสดงความคิดเห็น