大table left outer join 小table, 排除不存在於小table的筆數時,用not exists效能比較好,尤其是當JOIN條件為index column
甚少用到exists , not exists語法, 這篇實測文章給了我一點新想法.
http://www.sqlservercentral.com/blogs/sqlinthewild/archive/2010/3/23/left-outer-join-vs-not-exists.aspx
作者結論:
The LEFT OUTER JOIN … IS NULL method is slower when the columns are indexed and it’s perhaps not as clear what’s happening. It’s reasonably clear what a NOT EXISTS predicate does, with LEFT OUTER JOIN it’s not immediately clear that it’s a check for non-matching rows, especially if there are several where clause predicates.
最近和小朋友一直在OPTIMIZE SQL SERVER 2000, 發現最大的瓶頸在DISK I/O上, 將幾個大TABLE的FILEGROUP上到SAN後,效能改善了至少2/3, 原先的硬碟是一組RAID 5+1,跑了5年後,在不到二個月的時間陸續掛了二顆硬碟 ,DISK QUEUE一直處在00%滿載亮紅燈中...
幾個主要的大table在多人同時間做insert / delete /select 時,整台主機都被卡住了,動也動不了.將大TABLE的FILEGROUP上到SAN後,至少主機不會整個卡住什麼都不能做.
接著開始看使用者自已寫的RDL表, 千奇百怪的語法都有. 很佩服SQL 2000還挺耐操的, 操不死,頂多就是喘了點.
DBA的工作真偉大, 光效能精進就是一件又苦又漫長的等待
給小朋友和自已鼓鼓掌.,
小朋友給他多一點掌聲, 他比較適合搞技術, 遇上業務邏輯的事,總讓我發火..
接下來調整tempdb...
訂閱:
張貼留言 (Atom)
自動記錄滑鼠點選操作
為了一個需求,需要人工去點選幾個滑鼠的點選行為,找了幾種工具,覺得GS Auto Clicker最實用,極符合我的需求,尤其是多個固定位置的button點擊,解決了一個很耗時間的工作。 最後設定完預設hotkey F8為啟用鍵,就可以開始自動做工了。再按F8結束工作。 GS Au...
-
上網找了免費的白箱檢測工具,找到了 puma scan 因為支援OWASP TOP 10的檢測,所以這是一個符合客戶需求又能與Visual studio結合的工具(白話說...交差了事矣....) 更重要的是這不用錢....檢測工具都貴森森的,尤其是源碼檢測工具。 ht...
-
建了一個工作排程,定時執行batch檔。 batch中寫了一段xcopy,主要針對有異動較新檔案時才複製。 echo off for /f "delims=" %%a in ('wmic OS Get localdatetime ^| find...
-
改用SQL Server Management Studio 2017有一段時間了。 在執行一段之前寫的SQL要組出一段語法時,里頭包含了使用CHAR(10)當作換行符號的文字,在輸出結果中,使用複製貼上的方式要進行執行時,發現換行符號都失效了。 但如果使用Results...
沒有留言:
張貼留言