איך כדאי למספר עמודה משנית בpostgresql?
-
@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? -
ליתר בטחון תעשה כלל uniqe על 2 העמודות הללו ביחד.
ואז לא יהיה מצב של כפילות. מקסימום אתה מריץ כמה פעמים את השאילתה (לדעתי זה הפתרון הכי קל, להריץ בלולאה עם כמה ניסיונות- attempts).(אגב, אני לא מצליח להיזכר בדיוק, אבל יש מנגנון דומה בעוד מקומות של התנגשות, אולי של התנגשות בגישה לרשומת ב DB או סתם מערכת קבצים, ואז כל תהליך מנסה להמתין זמן רנדומלי, וכו, לא זוכר את הסוף)
-
@מנצפך אמר באיך כדאי למספר עמודה משנית בpostgresql?:
(אגב, אני לא מצליח להיזכר בדיוק, אבל יש מנגנון דומה בעוד מקומות של התנגשות, אולי של התנגשות בגישה לרשומת ב DB או סתם מערכת קבצים, ואז כל תהליך מנסה להמתין זמן רנדומלי, וכו, לא זוכר את הסוף)
-
@nigun אמר באיך כדאי למספר עמודה משנית בpostgresql?:
אני רוצה שיהיה יוניק רק ביחס לעמודה השניה, לא ביחס לכל הטבלה.
@מנצפך אמר באיך כדאי למספר עמודה משנית בpostgresql?:
תעשה כלל uniqe על 2 העמודות הללו ביחד