‏הצגת רשומות עם תוויות טיפים. הצג את כל הרשומות
‏הצגת רשומות עם תוויות טיפים. הצג את כל הרשומות

יום רביעי, 28 באפריל 2021

טיפים לשיפור ביצועי Informatica

ברמת ה Designer:

1.בעת ביצוע Join יעיל לסמן את הטבלה הקטנה יותר כMaster.

2. ביצוע מיון לפי Aggregator, Joiner ושימוש בsorted input בטרנספורמציות האלו משפר משמעותית את הביצועים.

3. שימוש בDecode במקום בIIF בטרנספורמציות.

4. בעת עבודה מול source שמשנים בו types לעיתים תכופות - הגדרה של כל השדות כ string ואחרי זה להמיר לtype המתאים.

ברמת ה Workflow:

1.להגדיל את ה Commit interval בעת שימוש ב Bulk בעיקר.

2. שימוש ב  pushdown optimization - נמצא תחת  properties -Tab תחת - Performance - section
    ניתן להגדיר ל Source או  Target או לשניהם, בפועל יוצר sessiom של insert as select והכל קורה ישירות בDB.
 לא מתאפשר עבור מפות מסובכות.

3.  חשוב לשים לב ל session level לרמת פירוט הלוג שנשמר.

יום ראשון, 3 ביולי 2016

SQL בקצרה



  • ADD_MONTHS - מקבלת תאריך ומספר ומחזירה את התאריך ומספר החודשים לאחריו
  • AND and OR are special operators that you can use withWHERE to filter the query on two or more conditions.
  • AVG() takes a column name as an argument and returns the average value for that column.
  • ALTER TABLE             changes an existing table.
    דוגמא להוספת העמוד -
    ALTER TABLE celebs ADD COLUMN twitter_handle TEXT;
  • הוספת עמודה כמו למעלה תציב עמודה עם תאים ריקים, ניתן להגדיר שהתאים יהיו מלאים כך
    ALTER TABLE celebs ADD COLUMN twitter_handle TEXT DEFAULT 'zebra'; 

  • AS כינוי טבלה בשם באורקל אין צורך בכך וניתן לכתוב את שם הטבלה רווח ולאחריו הכינוי. במקרה של טבלה נוספת יש להפריד עם פסיק
    SELECT c.OrderID, c.ProductID, p.ProductName, p.Price
    FROM   Price AS c
    JOIN   Products AS p ON (c.ProductID = p.ProductID)
  • COUNT takes the name of a column(s) as an argument and counts the number of rows where the value(s) is not NULL.
  • CONCAT -  CONCAT returns char1 concatenated with char2 - for example
    SELECT CONCAT(CONCAT(last_name, '''s job category is '),job_id)
    return -

    Hall's job category is SA_REP
  • CREATE TABLE           creates a new table.
Example - CREATE TABLE celebs (name TEXT, age INTEGER);

להגדרת התאים כחייבים להיות מלאים
Example - CREATE TABLE celebs (name TEXT NOT NULL, age INTEGER NOT NULL);

להגדרת התאים כחייבים להיות UNIQUE
Example - CREATE TABLE celebs (name TEXT UNIQUE, age INTEGER NOT NULL);

  • DECODE - הפונקציה הזו משווה בין שני ערכים ומחזירה תשובה אם שווים, התשובה יכולה להיות כל פונקציה או שכמו בתשובה פשוט ניתן להוסיף אם אינם שווים ,לפי הסינטקס הבא 
    SELECT DECODE(P1,P2, 'Equal', 'Not Equal')
  • DELETE FROM           deletes rows from a table.
  • DISTINCT  is used to remove duplicates from the result set. The syntax for the DISTINCT clause in Oracle/PLSQL is:
    SELECT DISTINCT expressions
    FROM tables
    [WHERE conditions];
  • DATEDIFF - מחזיר פער בין תאריכים, מספר של חודשים/ימים/שנים וכדו' לדוג
    SELECT DATEDIFF(day, '2000/08/16', '2022/08/16') AS NumDayDiff;
  • DATEPART - מחזיר חלק התאריך מתוך העמודה לדוג'
    SELECT DATEPART(yyyy, '2019/05/12') AS DateparT;  יחזיר את השנה 2019
  • EXTRACT - מחלץ מחרוזת מתאריך לפי שליפה של חודש או שעה לדוג'
    SELECT (EXTRACT(YEAR from עמודת תאריך)) from table
  • getdate() - מחזיר את ערך התאריך של היום, התאריך הנוכחי 'דומה קצת ל SYSDATE
  • GROUP BY is a clause used with aggregate functions to combine data from one or more columns.
  • INSERT INTO               adds a new row to a table.
Example - INSERT INTO celebs (name, age) VALUES ('Harrison Ford', 76);

  • INSTR - מציאת מיקום תת מחרוזת בתוך מחרוזת שלמה
  • INTICAP(string) - מחזירה מחרוזת כשבכל מילה האותיות קטנות וכל האותיות הראשונות גדולות
  • SELECT                        queries data from a table.
    שליפה ממספר טבלאות תעשה ע"י הפרדה של פסיקים בין עמודה לעמודה מטבלה, כשהייצוג יהיה ע"י שם טבלה נקודה ושם העמודה המבוקשת
  • UPDATE     -          עדכון ושינוי נתונים נעשה ייעשה על פי התחביר הבא
Example - 
UPDATE  table_name
SET  column = new_value
WHERE condition/s

  • LIKE and BETWEEN are special operators that can be used in a WHERE clause
    • LIKE '%a%' כל מילה שיש באמצע שלה את האות שבין האחוזים
    • LIKE '_a%' כל מילה שהאות השנייה שלה היא האות הראשונה בא"ב באנגלית
  • LIMIT - מגביל את כמות השורות המוחזרות
  • LAST_DAY  - מחזירה את היום האחרון בחודש
  • HAVING במידע אגרגרטיבי נשתמש בו ולא ב WHERE.
  • LENGTH - אורך תוכן בעמודה --> SELECT LENGTH('Israel') FROM dual; 
    in SQL Server we use LEN --> SELECT LEN('Israel');
  • SUBSTR - מחזיר חלק ממחרוזת לפי ציון מיקום
  • LOWER (string) - UPPERמחזירה מחרוזת כשכל האותיות הגדולות הומרו לקטנות, ההיפך מ 
  • MAX() לוקחת את שם העמודה בסוגריים ומחזירה את הערך המקסימלי, אם ישנם מספר ערכים ובעיקר אם הערכים אינם מספריים כדאי להשתמש בפונקציה Rank כפי שמופיע בהמשך.
  • MIN() לוקחת את שם העמודה בסוגריים ומחזירה את הערך המינמלי , אם ישנם מספר ערכים ובעיקר אם הערכים אינם מספריים כדאי להשתמש בפונקציה Rank כפי שמופיע בהמשך.
  • MOD - מחזירה שארית של שני מספרים
  • MONTHS_BETWEEN - מחזירה מספר החודשים בין שני תאריכים
  • NEXT_DAY - מקבלת תאריך ויום בשבוע, ומחזירה את התאריך הקרוב של היום בשבוע.
  • IN - this operator is used when you want to compare a column with more then one value. for example - if you need to select all people from NY,CA,LA instead of using OR you can use IN lie that - WHERE city IN ('NY','CA','LA');
  • NOT IN - כמו מה שצוין למעלה רק לא.. די ברור
  • NVL(exp1,exp2) - מקבל שני נתונים האחד עמודה השני, אם הערך בעמודה הוא null מזין במקום את הערך השני
  • NULLIF (exp1,exp2) - אם הביטויים שווים מציבה null אם שונים מחזירה את הערך הראשון של exp1
  • ORDER BY lets you sort the results of the query in either ascending or descending order.
    default - ASC to sort the records in a descending order, you can use the DESC keyword
    טיפ - יצירת סדר לפי שתי עמודות מתבקש למשל בשם פרטי ושם ומשפחה
  • OFFSET - בעוד שהפקודה שמעל מגבילה את כמות השורות, הפקודה הזו שבאה איתה קובעת אילו שורות יוחזרו. רוצה להביא רק 5 ? תוצאות אבל אילו ? החמש הראשונות, החמש השניות, החמש השלישיות וכן הלאה..
  • getdate() - מחזיר את ערך התאריך של היום, התאריך הנוכחי 'דומה קצת ל SYSDATE
  • PRIMARY KEY
    את העמודה הזו נגדיר ביצירת הטבלה והיא לא זקוקה לעדכון התאים בה משום שהיא ממספרת אוטומאטית  את המזהה של כל שורה .לדוגמא

    CREATE TABLE test (

    id INTEGER PRIMARY KEY,

    name TEXT,

    grade INTEGER

    );

  • ROUND() takes two arguments, a column name and the number of decimal places to round the values in that column.
  • RANK - זוהי פונקציה אנליטית שתפקידה לתת לערכים דירוג מספרי מאחד והלאה, הפונקציה תבוא עם סוגריים ובמבנה שלאחריו תבוא הפוקנציה over
    SELECT RANK() OVER ([ עמודה ] order_by_clause). לדוגמא אם נרצה לקבל את שמות התלמידים הראשונים שהגיעו בסשנים שונים לפי תאריך הגעה לכיתה נוכל לדרג אותם בצורה הבאה
    SELECT Time, Name,
    
    RANK () OVER (partition by Name by Time desc)
    FROM   Class
  • SUM() takes the column name as an argument and returns the sum of all the values in that column.
  • STDDEV - פונקציה המחזירה סטיית תקן מהממוצע
  • TO_DATE - שאילתא על שדה זמן באמצעות יצירת פורמט זמן לדוג
    TO_DATE('2006/12/25', 'yyyy/mm/dd')
    Result: date value of Dec 25, 2016
  • TO_NUMBER - המרה לערך נומרי,מספרי על פי  פורמט שמצויין בסוגרים לאחר הפסיק כמו בדוג' מטה
    TO_NUMBER('string', '99.99')
  • TO_CHAR - מקבלת תאריך/שעה/מספר והופכת אותם למחרוזת
  • TOP - צימצום התוצאות למספר שיוגדר ב TOP או  לאחוז כפי שיוגדר
  • TRIM - פונקציה שמחזירה טקסט ללא תווים עודפים שניתו להגדיר או בברירת המחדל היא מורידה רווחים מיותרים לפני ואחרי הטקסט
  • OVER- בתוך הסוגריים של הפונקציה הזו נגדיר את הערכים עליהם נרצה לבצע את הפונקציות האנליטיות כמו בדוגמא למעלה עם פונקציית הדירוג RANK.
  • PARTIOTION - משמשת בפונקציה rank ליצירת הפרדה לפי מחלקות וכך נקבל במקום רצף של 1 והלאה מספר רצפים כאלו לפי מספר המחלקות. בדוגמא למעלה השמות הם המחלקות ונראה דירוג לפי הגעה של כל תלמיד לכיתה לפי שמו מהפעם הראשונה ועד לאחרונה.
  • TRANSACTION- נשתמש בטרנזקציות לאיגוד ומיטוב ביצועי תהליכים לפי התבנית הבאה
  • BEGIN TRANSACTION;
    INSERT INTO example_table....
    END TRANSACTION;
  • SUBSTR - מחרוזת, מיקום מספרי, ומספר אותיות- יחזירו את תת המחרוזת מהמיקום המספרי ועד למספר האותיות
    לדוג' - SELECT SUBSTR('ABCD',2,2) יחזיר 'BC'
    כמו כן מיקום עם הסימון '-' יספור מהסוף להתחלה, השימוש בו יכול להיות מאוד שימושי כשאנחנו רוצים להמיר מספר בודד לייצוג של שתי ספרות מדקות דקות עם '0' בהתחלה, נשלוף זאת כך
     SELECT mm || ':' || SUBSTR('00' || ss, -2, 2), .....
  • REPLACE - מכניסים לסוגריים, עמודה, ביטוי להחלפה ואת ההחלפה
    לדוג' - REPLACE( 'test', 't', 'T' ) -> TesT
  • TRUNC- מקצץ מספרים ותאריכים - מספר עשרוני מחזירה עם ספרות עשרוניות לפי המספר בסוגריים תאריך לפי הפרמטר מחזירה את תחילתו, למשל בשנה תחזיר את תחילת השנה
    לדוג' TRUNC(TO_DATE('21-MAY-22','DD-MON-YY'), 'YEAR')
    יחזיר 01-01-22.
  • UPPER (string) -  LOWERמחזירה מחרוזת כשכל האותיות הקטנות הומרו לגדולות, ההיפך מ
  • WHERE is a popular command that lets you filter the results of the query based on conditions that you specify.
DECLARE - מקטע ההצהרה בתחילת בלוק של pl/sql
BEGIN - END - בין שנייהם נמצא המקטע הראשי

שליפות מ - Data Dictionary של Oracle.

טיפים

אם נרצה למספר את שורות הטבלה ששלפנו נעטוף את השליפה ב
 SELECT A.* , ROWNUM from (SQL) A;