דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. איך כדאי למספר עמודה משנית בpostgresql?

איך כדאי למספר עמודה משנית בpostgresql?

מתוזמן נעוץ נעול הועבר תכנות
22 פוסטים 5 כותבים 486 צפיות 4 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • OdedDvirO OdedDvir

    @yossiz אמר באיך כדאי למספר עמודה משנית בpostgresql?:

    זו אותה שאלה שאני שאלתי בעבר?

    כך זה נראה. אמנם פונקציית חלון לא הייתה קיימת בגרסאות 9.5 ומטה, כך שאיני יודע אם בזמן השאלה היה קיים הפתרון הנ"ל.

    yossizY מנותק
    yossizY מנותק
    yossiz
    כתב ב נערך לאחרונה על ידי
    #13

    @odeddvir אני עובר על הפוסטים שם, וא) אני מבין שהיום אני מבין פחות ב-DB-ים ממה שהבנתי אז... ב) אני רואה שיצא לי שגם אם עושים את הכל במשפט SQL אחת זה לא פותר את בעיית ההתנגשויות, כך שאני לא בטוח שפונקציית חלון יעזור פה.

    📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

    תגובה 1 תגובה אחרונה
    3
    • OdedDvirO OdedDvir

      @nigun אם השתמשת ב window_function כפי שהציע @dovid אתה בכלל לא צריך Sequence, וזה הרבה יותר פשוט. ראית שם את התשובה השניה? שיניתי אותה למקרה שלך:

      INSERT INTO YourTable
          (user, sub_id, DATA)
          SELECT user, ROW_NUMBER() OVER(PARTITION BY user ORDER BY DATA), DATA
              FROM YourSource
      
      nigunN מנותק
      nigunN מנותק
      nigun
      כתב ב נערך לאחרונה על ידי nigun
      #14

      @odeddvir
      ראיתי שם את התשובה השניה והתחלתי לשחק עם השאילתות לראות איך זה עובד.
      סתם נסחפתי לנושא של הפרמטרים.
      את הרעיון של sequence קיבלתי מהמדריך הזה
      שמסביר איך הסוג עמודה SERIAL עובד

      CREATE SEQUENCE table_name_id_seq;
      
      CREATE TABLE table_name (
          id integer NOT NULL DEFAULT nextval('table_name_id_seq')
      );
      
      ALTER SEQUENCE table_name_id_seq
      OWNED BY table_name.id;
      

      חשבתי שהסיבה שבחרו בדרך הזאת זה כנראה בגלל יעילות
      אז למה שאני לא יעשה ככה גם.

      עכשיו אני מנסה להבין מה ROW_NUMBER() עושה מאחורי הקלעים ונראה האם זה יעיל או סתם נועל את כל הטבלה ללא צורך?
      ובמה זה שונה משאילתת MAX?

      מייל: nigun@duck.com

      dovidD תגובה 1 תגובה אחרונה
      0
      • nigunN nigun

        @odeddvir
        ראיתי שם את התשובה השניה והתחלתי לשחק עם השאילתות לראות איך זה עובד.
        סתם נסחפתי לנושא של הפרמטרים.
        את הרעיון של sequence קיבלתי מהמדריך הזה
        שמסביר איך הסוג עמודה SERIAL עובד

        CREATE SEQUENCE table_name_id_seq;
        
        CREATE TABLE table_name (
            id integer NOT NULL DEFAULT nextval('table_name_id_seq')
        );
        
        ALTER SEQUENCE table_name_id_seq
        OWNED BY table_name.id;
        

        חשבתי שהסיבה שבחרו בדרך הזאת זה כנראה בגלל יעילות
        אז למה שאני לא יעשה ככה גם.

        עכשיו אני מנסה להבין מה ROW_NUMBER() עושה מאחורי הקלעים ונראה האם זה יעיל או סתם נועל את כל הטבלה ללא צורך?
        ובמה זה שונה משאילתת MAX?

        dovidD מנותק
        dovidD מנותק
        dovid
        ניהול
        כתב ב נערך לאחרונה על ידי
        #15

        אני פתאום חושב שwindow function לא עוזר כלום למקביליות,
        בעוד הsequence עשוי עבור זה.

        • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
        • בכל נושא אפשר ליצור קשר dovid@tchumim.com
        yossizY תגובה 1 תגובה אחרונה
        3
        • dovidD dovid

          אני פתאום חושב שwindow function לא עוזר כלום למקביליות,
          בעוד הsequence עשוי עבור זה.

          yossizY מנותק
          yossizY מנותק
          yossiz
          כתב ב נערך לאחרונה על ידי yossiz
          #16

          @dovid אמר באיך כדאי למספר עמודה משנית בpostgresql?:

          אני פתאום חושב

          זה מה שטענתי למעלה...

          📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

          מנצפךמ תגובה 1 תגובה אחרונה
          2
          • yossizY yossiz

            @dovid אמר באיך כדאי למספר עמודה משנית בpostgresql?:

            אני פתאום חושב

            זה מה שטענתי למעלה...

            מנצפךמ מנותק
            מנצפךמ מנותק
            מנצפך
            כתב ב נערך לאחרונה על ידי
            #17

            ליתר בטחון תעשה כלל uniqe על 2 העמודות הללו ביחד.
            ואז לא יהיה מצב של כפילות. מקסימום אתה מריץ כמה פעמים את השאילתה (לדעתי זה הפתרון הכי קל, להריץ בלולאה עם כמה ניסיונות- attempts).

            (אגב, אני לא מצליח להיזכר בדיוק, אבל יש מנגנון דומה בעוד מקומות של התנגשות, אולי של התנגשות בגישה לרשומת ב DB או סתם מערכת קבצים, ואז כל תהליך מנסה להמתין זמן רנדומלי, וכו, לא זוכר את הסוף)

            yossizY nigunN 2 תגובות תגובה אחרונה
            1
            • מנצפךמ מנצפך

              ליתר בטחון תעשה כלל uniqe על 2 העמודות הללו ביחד.
              ואז לא יהיה מצב של כפילות. מקסימום אתה מריץ כמה פעמים את השאילתה (לדעתי זה הפתרון הכי קל, להריץ בלולאה עם כמה ניסיונות- attempts).

              (אגב, אני לא מצליח להיזכר בדיוק, אבל יש מנגנון דומה בעוד מקומות של התנגשות, אולי של התנגשות בגישה לרשומת ב DB או סתם מערכת קבצים, ואז כל תהליך מנסה להמתין זמן רנדומלי, וכו, לא זוכר את הסוף)

              yossizY מנותק
              yossizY מנותק
              yossiz
              כתב ב נערך לאחרונה על ידי
              #18

              @מנצפך אמר באיך כדאי למספר עמודה משנית בpostgresql?:

              (אגב, אני לא מצליח להיזכר בדיוק, אבל יש מנגנון דומה בעוד מקומות של התנגשות, אולי של התנגשות בגישה לרשומת ב DB או סתם מערכת קבצים, ואז כל תהליך מנסה להמתין זמן רנדומלי, וכו, לא זוכר את הסוף)

              אולי https://en.wikipedia.org/wiki/Exponential_backoff?

              📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

              תגובה 1 תגובה אחרונה
              0
              • מנצפךמ מנצפך

                ליתר בטחון תעשה כלל uniqe על 2 העמודות הללו ביחד.
                ואז לא יהיה מצב של כפילות. מקסימום אתה מריץ כמה פעמים את השאילתה (לדעתי זה הפתרון הכי קל, להריץ בלולאה עם כמה ניסיונות- attempts).

                (אגב, אני לא מצליח להיזכר בדיוק, אבל יש מנגנון דומה בעוד מקומות של התנגשות, אולי של התנגשות בגישה לרשומת ב DB או סתם מערכת קבצים, ואז כל תהליך מנסה להמתין זמן רנדומלי, וכו, לא זוכר את הסוף)

                nigunN מנותק
                nigunN מנותק
                nigun
                כתב ב נערך לאחרונה על ידי
                #19

                @מנצפך אמר באיך כדאי למספר עמודה משנית בpostgresql?:

                ליתר בטחון תעשה כלל uniqe על 2 העמודות הללו ביחד.

                אני רוצה שיהיה יוניק רק ביחס לעמודה השניה, לא ביחס לכל הטבלה.
                וכן אני רוצה שיהיה אפשרות לשנות את המספור בשעת הצורך

                מייל: nigun@duck.com

                yossizY תגובה 1 תגובה אחרונה
                0
                • nigunN nigun

                  @מנצפך אמר באיך כדאי למספר עמודה משנית בpostgresql?:

                  ליתר בטחון תעשה כלל uniqe על 2 העמודות הללו ביחד.

                  אני רוצה שיהיה יוניק רק ביחס לעמודה השניה, לא ביחס לכל הטבלה.
                  וכן אני רוצה שיהיה אפשרות לשנות את המספור בשעת הצורך

                  yossizY מנותק
                  yossizY מנותק
                  yossiz
                  כתב ב נערך לאחרונה על ידי yossiz
                  #20

                  @nigun אמר באיך כדאי למספר עמודה משנית בpostgresql?:

                  אני רוצה שיהיה יוניק רק ביחס לעמודה השניה, לא ביחס לכל הטבלה.

                  @מנצפך אמר באיך כדאי למספר עמודה משנית בpostgresql?:

                  תעשה כלל uniqe על 2 העמודות הללו ביחד

                  📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

                  nigunN תגובה 1 תגובה אחרונה
                  0
                  • yossizY yossiz

                    @nigun אמר באיך כדאי למספר עמודה משנית בpostgresql?:

                    אני רוצה שיהיה יוניק רק ביחס לעמודה השניה, לא ביחס לכל הטבלה.

                    @מנצפך אמר באיך כדאי למספר עמודה משנית בpostgresql?:

                    תעשה כלל uniqe על 2 העמודות הללו ביחד

                    nigunN מנותק
                    nigunN מנותק
                    nigun
                    כתב ב נערך לאחרונה על ידי
                    #21

                    @yossiz אמר באיך כדאי למספר עמודה משנית בpostgresql?:

                    תעשה כלל uniqe על 2 העמודות הללו ביחד

                    באר
                    לא הבנתי מה זה אומר

                    מייל: nigun@duck.com

                    OdedDvirO תגובה 1 תגובה אחרונה
                    0
                    • nigunN nigun

                      @yossiz אמר באיך כדאי למספר עמודה משנית בpostgresql?:

                      תעשה כלל uniqe על 2 העמודות הללו ביחד

                      באר
                      לא הבנתי מה זה אומר

                      OdedDvirO מנותק
                      OdedDvirO מנותק
                      OdedDvir
                      כתב ב נערך לאחרונה על ידי
                      #22

                      @nigun אני חושב שהוא התכוון למפתח מרוכב Composite-Key

                      תגובה 1 תגובה אחרונה
                      2
                      תגובה
                      • תגובה כנושא
                      התחברו כדי לפרסם תגובה
                      • מהישן לחדש
                      • מהחדש לישן
                      • הכי הרבה הצבעות


                      • 1
                      • 2
                      בא תתחבר לדף היומי!
                      • התחברות

                      • אין לך חשבון עדיין? הרשמה

                      • התחברו או הירשמו כדי לחפש.
                      • פוסט ראשון
                        פוסט אחרון
                      0
                      • דף הבית
                      • קטגוריות
                      • פוסטים אחרונים
                      • משתמשים
                      • חיפוש
                      • חוקי הפורום