Hekaton – טבלאות OLTP השוכנות בזכרון

יום שבת, ספטמבר 28, 2013

εκατον ביוונית פירושו מאה (100). הכוונה הייתה להגיע לביצועים טובים פי 100. לאן פנינו מועדות? SQL Server הוא נושאת מטוסים ענקית ולא סירת מירוץ זריזה. פלפורמה שכוללת המון כלים שלכל אחד מהם ניתן למצוא חלופות בשוק. קשה להתחייב שכל כלי הוא הטוב מסוגו, אך בעסקת חבילה זו קיבלנו את כולם ביחד, והשלם זול מסכום חלקיו ואולי גם יעיל יותר. לפני כמה שנים SQL Server נכנס לתחום הענן, הציע את ה-Azure, וחלק מאיתנו התחיל לחשוש לפרנסתו – עוד מעט קט לא יהיה צורך ב-DBA-ים.. בינתיים SQL Server הרגיל (on premise)...

With Result Sets: פרדיקאט חדש ב-Denali

יום רביעי, דצמבר 1, 2010

מהגרסה הבאה נוכל לעצב את ה-Result Sets המוחזרים על ידי הפרוצדורות בעזרת פקודה מתאימה! (סימן הקריאה נכתב בציניות כי ההתרשמות שלי היא פיהוק אחד גדול) ניקח פרוצדורה פשוטה לדוגמה: Exec sp_databases With Result Sets(( Varchar(Max) Not Null, Int Not Null, Varchar(Max) Null)); זה הסינטקס והפלט עם...
אין תגובות

מגבלות ה-Sequence ופריצתן

יום חמישי, נובמבר 25, 2010

כמה ימים לאחר שפירסמתי את הפוסט שלי לגבי Sequence - מספור אוטומטי משותף, פרסם איציק בן-גן פוסט באותו נושא, ומה לעשות- חוץ מזה שהוא תותח מבחינה טכנית, הוא מבין את הפילוסופיה של ה-SQL לעומק - והבנה כזו לא פוגשים הרבה; ואני מתייחס כאן בעיקר לכך שהוא הראה ששליפה כפולה מ-Sequence בסגנון של Select Next Value For MySeq ID1, Next Value For MySeq ID2; תחזיר אותו מספר פעמיים ולא שני מספרים עוקבים, והסיבה אינה "ככה זה" או צידוק...
אין תגובות

הצגת "דפים" מתוך טבלה – מחידושי Denali

יום שני, נובמבר 22, 2010

בימי SQL Server 2000 העליזים, כשהיינו צריכים להציג את שורות מספר 21-30 (למשל) מתוך הטבלה (בדרך כלל עבור אתרי אינטרנט בהם מציגים מסך של תוצאות וניתן לעבור למסך הקודם או הבא על ידי Prev ו-Next בהתאמה)- היינו שולפים את 30 השורות הראשונות, ממיינים הפוך ושולפים את 10 הראשונות (ליתר דיוק- 10 האחרונות מתוך ה-30), וזו השליפה המבוקשת: Select Top 10 nameFrom (Select Top 30 name From sys.objects Order By name) TOrder By name Desc;Go עשיתי לעצמי כאן...
אין תגובות

Sequence – מספור אוטומטי משותף

יום ראשון, נובמבר 14, 2010

בעקבות ההכרזה הרשמית על גרסת SQL Server הבאה ששם הקודם שלה הוא Denali – נזכרתי בבעייה שפעם הייתי צריך לפתור וכעת דומה שבאה על פתרונה.. נניח שיש לנו טבלת ספקים וטבלת לקוחות, לכל טבלה יש עמודת Identity הממספרת את השורות באופן אוטומטי, אבל אנחנו מעוניינים שהמספרים בשתי הטבלאות יהיו שונים, וכך המספר 3 (למשל) ישוייך רק לגוף אחד, ולא יווצר מצב בו יש לקוח שמספרו 3 וספק שמספרו 3.. ניתן היה לחשוב על כל מיני פתרונות: 1. טבלה משותפת ללקוחות ולספקים, כשחלק מהעמודות משמשות את שניהם (מספר, שם, כתובת, טלפון, איש קשר..) וחלק לא (% ניכוי במקור – רלוונטי רק לספק, כתובת...
אין תגובות