Home
|
All Posts
|
RSS
|
Popular Tags
|
Sign in
|
Join
|
Help
in
Current Tags
(Entire Site)
@@Language
Active Directory
Analysis Services
BI
Binaric Numbers
Bitwise And
Break
Cast
Catch
Char
Clustered Index
Clustered Index Scan
Clustering
collation
Covered Index
create Database
CTE
Cumulative Update
Cursor
Data Mining
DataLength
DATAllegro
Datawarehousing
Date Functions
DateName
DatePart
Dates
DateTime
DB_DataReader
DB_DataWriter
DB_DenyReader
DDL Operations
Denali
DEV
Distinct
Dynamic SQL
Error Handling
Excel
Except
Exchange 2007
Exec
Execure As
Execution Plan
Exists
Extended Properties
Filtered Index
FN_VarbinToHexStr
For XML
Fragmentation
Full Join
Gemini
GoTo
Group By
Hardware
Hash Match
Heap Table
Hexadecimal Numbers
Hierarchy
Identity
IN
Index
Index Scan
Index Seek
Inner Join
Intersect
Join
Kilimanjaro
Lag
Left Anti Semi Join
Left Join
Licensing
Login
NVarchar
OpenRowset
Parallelism
PatIndex
Performance
Recursive CTE
Row_Number
SCCM
Security
Set Language
Set Theory
SP_ExecuteSQL
sp_SpaceUsed
Sparse Columns
SQL
SQL 2008
SQL Server 2005
SQL Server 2008
SQL Server 2011
SQL Server 2012
Statistics IO
sys.syslanguages
System Center
Transaction
Virtual
Window Functions
Windows 2008
מכללת הי-טק
לעזור לסבתא לחצות את הכביש
נסיונות לעזור לאופטימייזר של ה-SQL Server משול לעיתים לניסיון המיתולוגי לעזור לזקנה לחצות את הכביש: גרמנו יותר תועלת מנזק.. נכון שלא תמיד זה כך, ולכן יש להפעיל שיקול דעת. הפעם דוגמה מתי לא כדאי: נתונות שתי טבלאות- אחת גדולה (100,000 שורות) ואחת קטנה (33 שורות) ואנחנו מעוניינים לבצע Join בינהן. העמודה בטבלה הקטנה איתה מתבצע ה-Join היא יחודית ולכאורה היא Primary Key, אך לטבלאות לא הוגדרו אינדקסים. אנחנו רוצים לעזור לאופטימייזר: הוא הרי יבצע Scan לטבלה הגדולה, ולכל שורה יחפש התאמה בטבלה הקטנה; ומכיוון...
02-07-2012 21:33
by
גרי רשף
to
גרי רשף
תגים:
SQL Server
,
Execution Plan
,
ITPRO
,
DEV
Join, Semi Join, Anti Semi Join
ב-Execution Plans אנחנו מוצאים לא פעם את החיוויים הנ"ל צמודים ל-Hash Match או ל-Nested Loops. מה המשמעות שלהם? לגבי Join, Left Join, Right Join לא ארחיב כאן ורק אזכיר שהם מחזירים את כל ההתאמות בין שתי טבלאות או סטים בכפוף להגדרות והתנאים, ואציין כאן שתי דוגמאות מפוסט קודם: --1 Select * From messages M Inner Join syslanguages L On M.language_id=L.lcid; --2 Select * From messages M Cross Apply ( Select * From syslanguages L Where M.language_id=L.lcid) L; הסינטקס שונה אך מדובר בפעולות Join...
02-06-2012 21:58
by
גרי רשף
to
גרי רשף
תגים:
SQL Server
,
ITPRO
,
DEV
,
Right Semi Join
,
Left Semi Join
,
Right Anti Semi Join
,
Left Anti Semi Join
באיזה סוג משתנה טקסטואלי כדאי לבחור?
מה ההבדל בין Char / NChar / Varchar / NVarchar? מתי נבחר במשתנה התומך ביוניקוד (NChar / NVarChar) ומתי לא (Char / Varchar)? מתי נבחר במשתנה קבוע באורכו (Char / NChar) ומתי בבעל גודל משתנה (Varchar / NVarchar)? כיצד נדע באיזה גודל משתנה לבחור- גודל מוגבל או לא (Max)? לרוב הצרכים המעשיים- שימוש ב-Char או ב-Varchar אמור להספיק בהנחה שה-Collation הוא עברי ואנחנו מעוניינים לכתוב בעברית ובאנגלית כולל נִיקוּד בעברית ואותיות גדולות/קטנות ב-English, אך לא בתווים לטיניים מיוחדים האופייניים לחלק מהשפות האירופאיות...
02-05-2012 21:43
by
גרי רשף
to
גרי רשף
תגים:
SQL Server
,
collation
,
ITPRO
,
DEV
,
Covered Index
,
Varchar
,
NChar
,
Char
,
NVarchar
,
NVarchar(Max). Unicode
,
Varchar(Max)
תקלה בהתקנת SQL 2012 RC0
גרסת RC0 זו גרסת ההתנסות האחרונה לפני ההשקה של SQL 2012 בפורים . מי שמתקין אותה בשיטת מיקרוסופט (Enter => Next => I Agree => Choose Default/Recommended Option => OK..) עלול לקבל במהלך הגדרות ההתקנה הודעת שגיאה בהאי לישנה: There was a failure to validate setting CTLRUSERS in validaton function ValidateUsers, ו לינק לכתובת באינטרנט שלא מופיע בה מידע רלוונטי או הצעה לפתרון. הפתרון: בשלב Distributed Replay Controller יש להקיש <Next> ולא לבחור ב-Add Current User (בה השתמשנו באחד השלבים...
01-29-2012 17:03
by
גרי רשף
to
גרי רשף
תגים:
SQL Server
,
ITPRO
,
DEV
,
SQL Server 2012
Parallelism
כאשר לשרת יש יותר ממעבד אחד הוא יכול לבחור לבצע פעולות במקביל וזה משפיע על בחירת ה-Execution Plan האופטימלי. בפוסט הקודם הראיתי כיצד במקרה של Join בין טבלה לא מאונדקסת לטבלה עם Primary Key & Clustered Index המערכת תבחר בעיבוד במקביל: Select * From messages T1 Inner Join messages_ClstInd T2 On T1.message_id=T2.message_id And T1.language_id=T2.language_id; מאוד יכול להיות שחלק שמי שניסה את הקוד אצלו קיבל Execution Plan שונה לגמרי. בשרת עליו הרצתי את הדוגמה יש שני מעבדים ולכן קיימת אופציה לעבודה...
01-27-2012 21:09
by
גרי רשף
to
גרי רשף
תגים:
SQL Server
,
Execution Plan
,
ITPRO
,
DEV
,
Statistics IO
,
Parallelism
,
MaxDop
השפעת האינדקסים על ביצוע Join בין טבלאות
כיצד המערכת מבצעת Join ומה השפעת האינדקסים ומספר הרשומות על כך? בהמשך ל פוסט הקודם - אנתח מספר דוגמאות מבחינת התוכנית שהמערכת תבחר ולא מבחינת הביצועים, והן יתבססו על הטבלאות והאינדקסים שיצרנו בפעם הקודמת: --1. No Indexes Select * Into messages From sys.messages; Go --2. Clustered Primary Key on message_id,language_id Select * Into messages_ClstInd From sys.messages; Go Alter Table messages_ClstInd Add Constraint PK_messages_ClstInd Primary Key Clustered (message_id,language_id); Go...
01-26-2012 20:57
by
גרי רשף
to
גרי רשף
תגים:
SQL Server
,
Execution Plan
,
ITPRO
,
DEV
,
Inner Join
,
Nested Loops
,
Hash Match
,
Parallelism
,
Merge Join
השפעת האינדקסים על חיפוש פשוט בטבלה
כיצד המערכת מחפשת ערכים בטבלה ומה השפעת האינדקסים על כך? מדובר בנושא די בסיסי בתחום, והפוסט הזה מוקדש למי שעדיין אינו מכיר. טבלת המערכת הגדולה ביותר היא sys.messages הכוללת את הודעות השגיאה של המערכת (קרוב ל-100,000 שורות בגרסת 2008 ועוד היד נטוייה בגרסאות הבאות): Select * From sys.messages; ניצור מספר עותקים ממנה ונאנדקס כל אחד בדרך אחרת, ונבדוק כיצד מתבצע החיפוש בכל פעם. נתחיל עם עותק ללא אינדקסים כלל: --1. No Indexes Select * Into messages From sys.messages; Go --2. Clustered Primary Key...
01-24-2012 21:01
by
גרי רשף
to
גרי רשף
תגים:
SQL Server
,
Execution Plan
,
ITPRO
,
DEV
,
Statistics IO
ריבוי תנאים הפונים לאותו אובייקט
נניח שאנחנו מחפשים עובד שיש לו גם הכשרה ב-SQL Server, גם ב-C# וגם ב-XML, או לחילופין סכימה בדטבייס שברשימת האובייקטים שלה יש גם פרוצדורות, גם טבלאות, וגם Views. כמקובל צריך לנסח שליפה ותנאים, אך יש לשים לב שבשתי הדוגמאות הנ"ל כל התנאים פונים לאותה טבלה (טבלת ההכשרות או טבלת האובייקטים) ובדיקה של כל תנאי בנפרד תגרום לשלוש פניות לטבלה וזה קצת מיותר. נציע מספר פתרונות, ונבחן אותם באמצעות ה-Execution Plan וסיכומי Statistics IO לגבי פעולות הקריאה: לי עצמי לקח זמן רב להבין כיצד להיעזר באמצעים האלו...
01-22-2012 21:04
by
גרי רשף
to
גרי רשף
תגים:
SQL Server
,
Execution Plan
,
ITPRO
,
DEV
,
Statistics IO
ישום היררכיה (עץ) בעזרת מספרים ראשוניים
הפוסט להלן מציג דרך לממש עץ בעזרת מספרים ראשוניים, תוך שימוש בתכונה שכל מספר יכול להיות מיוצג כמכפלה של מספרים ראשוניים (על ידי פירוק לגורמים). עץ בתורת הגרפים מוגדר כגרף מכוון בו לכל קודקוד יש לכל היותר קודקוד אחד שמחובר אליו בקשת, והוא יכול לתאר מבנים או תהליכים שונים: 1. מערכת היררכית בארגון בה לכל אחד יש מנהל אליו הוא כפוף (זולת המנהל הבכיר ביותר), אם כי למנהל יכולים להיות כפופים מספר עובדים. 2. מבנה דוח כספי מורכב. למשל- מאזן מחולק לנכסים ולהתחייבויות והון עצמי; ההתחייבויות מחולקות להתחייבויות...
01-17-2012 21:17
by
גרי רשף
to
גרי רשף
תגים:
SQL Server
,
ITPRO
,
DEV
,
Hierarchy
,
Tree
זו ההזדמנות לעשות סדר בבלאגן – DQS, מודול טיוב הנתונים של SQL Server 2012
מאת: רועי פסטרנק מנהלי מחשוב ומערכות מידע משקיעים משאבים רבים בפיתוח תשתיות מחשוב מתקדמות אשר יתרמו לייעול תהליכים בארגון ולשיפור ביצועים. אבל הנה פרדוקס קטן: גם התשתיות הכי מתקדמות תמיד יהיו תלויות באיכות הנתונים שאותן הן אמורות לנהל וגם השקעות גדולות באיסוף כמות גדולה של נתונים ובניהול שלהן הופכות חסרי ערך ללא דאגה מתמדת לאיכות הנתונים. המשוואה פשוטה: נתונים לא טובים = מידע לא טוב = עסקים לא טובים. בנוסף, היום יותר ויותר אנו רואים התייחסות רגולטורית לסוגיית טיוב הנתונים. במקרים רבים ישנה רגולציה...
01-15-2012 22:56
by
kraiten
to
בלוג TechNet ישראל
תגים:
ITPRO
,
SQL
,
SQL Server 2012
,
SQL Server
Page 1 of 13 (122 items) 1
2
3
4
5
Next >
...
Last »