בלינק ש @WWW הביא כאן ראיתי תגלית חדשה עבורי של שימוש ב WITH שמאפשר להשתמש בנתון שמור של שאילתה נוכחית.
בדיוק אתמול התמודדתי עם שאילתה שהייתי צריך למזג די הרבה נתונים, עם טבלה אחת ממוזגת שעליה מבוצעים כמה חישובים, ולא רציתי שבכל פעם ליצור מיזוג כדי שלא יקח יותר זמן ומשאבים.
השימוש ב WITH אמור לפתור לי את הבעיה.
אך הבעיה היא שזה לא נתמך בגרסת mySQL בשרת שלי.
האם ועד כמה זה מסוכן לשדרג גרסה עבור זה?
להלן הגרסה שלי עכשיו
חוקר
-
שדרוג mySQL מגרסה 5.7 ל 8 -
כמה שאלות על תכנון DB@WWW אמר בכמה שאלות על תכנון DB:
טוב אז צריך לחזור לעבודה
עכשיו יש לי טבלה עם לקוחות שיש להם 3 שדות של טלפון, + טבלה של שכנים המתגוררים באזור, ג"כ עם 3 שדות טלפונים.
עכשיו אני רוצה להשוות ביניהם, והמכנה המשותף היחיד שיש לי זה מספרי הטלפון.
עכשיו אני צריך לעשות בדיקה האם יש לפחות טלפון אחד שמשותף ביניהם, ואז להציג את השורה.איך עושים כזה דבר ב SQL?
אני צריך בשביל זה ליצור עוד טבלה של טלפונים + מזהה לקוח, וכן לשכנים, ואז לבצע בדיקה, או שיש דרך לעשות את זה גם ככה?ליישם את זה בסרניטי זה כבר עוד סיפור, אבל השם יעזור.
עד כמה שידוע לי ניתן לעשות בJOIN משהו בצורת
t1.c1 = t2.c1 OR t1.c2 = t2.c2
וכן על זה הדרך, תוכל לכתוב נוסח שמכיל את כל הסיטואציות.
או חכה שהמומחים יתנו פיתרון יותר יעיל -
שמירת נתונים בטבלה א הנמצאים בטבלה ב@MusiCode אמר בשמירת נתונים בטבלה א הנמצאים בטבלה ב:
בימות, ובאסטריסק כללי, אין הזרקת SQL...
בממשק ללקוחות..
-
שמירת נתונים בטבלה א הנמצאים בטבלה ביש לי טבלת מנויים, בין העמודות מופיע עמודה מצב אישי (אברך/בחור/ילד/אשה/נערה וכו'), קוד מוסד לימודים, וכדומה.
טבלה שניה של ההשתתפות בתוכנית.
אני מתמקד למשל בישיבה על קברו שכל יום נוספים אלפי שורות לטבלת ההשתתפות.
ברצוני אפשרות למיין תוצאות על פי מגדרים, וכדומה.
לבצע שאילתאות ממוזגות יכול ליצור בלגן גדול בשרת כי זה טבלה של מעל 60K מנויים ומעל 4.5M השתתפויות.
לצורך הסינון הכי טוב היה שבכל השתתפות אני שומר גם את שאר ההגדרות של המנוי, אבל א' זה בזבוז כי זה קיים בטבלת המנויים.
ב' באם אני מתקן פרט בפרטי המנוי שיתעדכן גם בטבלת ההשתתפות.
השאלה היא מהי הדרך הנכונה לשלב בין לא להכפיל נתונים, -
עדכון תהליך ה NODEJS לאחר ביצוע עריכה בד"ב MySQL@dovid
מה שאני כן מתחיל לחשוב תוך כדי לפצל לשניים, ליצור פונקציית Start, ופונקציית UpDate
ואז מה שאמור להשתנות רק ע"י השרת הזה יעלה ע"י ה Start ומה שיכול להשתנות ע"י גורם חיצוני יעודכן ע"י ה UpDate -
cache In NGINX@clickone אמר בcache In NGINX:
לדוגמא כך:
src="/test.js?ver=2"
לא חייבים כזה אריכות..
מספיק כך, ובכל עדכון מעלים מספר<script type="text/javascript" src="javascript.js?23"></script>
-
קוד אסינכרוני בייצוא אקסל - C#@clickone אמר בקוד אסינכרוני בייצוא אקסל - C#:
@dovid
העברתי לCSV ואכן מגיב הרבה יותר מהר. (תודה על החבילה של CsvHelper)
אבל הלקוח עדיין דורש אקסלוכמובן הדרישה שחצי מליון מליון רשומות חייבות לרדת לכולם בו זמנית ומיד
@dovid זה אני משאיר לך לשכנע את הלקוח...תודה רבה
אני משתמש בYII2 בייצוא לאקסל עם ספריה, וטבלאות מעל 10K זה נתקע, שם אני משתמש בCSV פשוט
-
קוד אסינכרוני בייצוא אקסל - C#אולי לא הבנתי טוב את הכותרת, אבללפי איך שאני מנסה להבין, למה שלא תוכל לעשות לולאה שמורידה כל פעם נניח 10K ע"י לימיט ואופסט, ע"י משאב זרימה שכותב לקובץ בכל ריצה של הלולאה את החלק הזה בלבד, ואתה עושה בדיקה שאם הכמות של השורות שהתקבל בריצה == 10K אתה ממשיך להריץ פעם נוספת (וכן בדיקה שלא חזר 0 שורות, באם ביום מן הימים יהיה סכום עגול של 10K), אחרת זה מסיים את הלולאה.
-
בניית מחלקת תקשורת עם ימות המשיח API ב nodejs -
שליחת נתונים מהקלייינט ובDB זה נשמר בסימנים מוזרים@WWW אמר בשליחת נתונים מהקלייינט ובDB זה נשמר בסימנים מוזרים:
@chagold אאל"ט בחיבור מ PHP ל MYSQL, צריך להגדיר גם את החיבור ל UTF-8.
בPDO יש להגדיר בחיבור כך:
$dsn = "mysql:host=".$this->host.";dbname=".$this->dbName.';charset=utf8';
-
נתונים מעובדים ע"י קוד השרת בשימוש בספריית editor.datatables.net@chagold אמר בנתונים מעובדים ע"י קוד השרת בשימוש בספריית editor.datatables.net:
echo ( $_REQUEST['data'][0]['citi_name']);
התחביר לא יעבוד כי אתה צריך להשים את המפתח האמיתי, השרת מחפש איבר שהמפתח שלו 0, והוא לא מוצא כי המפתח הוא 12674.
אתה יכול לעשות כך:echo ( $_REQUEST['data'][array_keys($_REQUEST['data'])[0]]['citi_name']);
שזה בעצם מאחזר את המפתחות של האיברים לתוך מערך חדש, ואז אתה ניגש לאיבר הראשון במערך 0 וכך יש לך את המפתח שנוצר.
-
NODEJS שילוב משתנים במחרוזת קלט מהמשתמש@יוסף-בן-שמעון
בינתיים בין כך הכל מבוצע על ידי [או ע"י עובד שלי], ולא ע"י הלקוחות עצמם, לכן לא כ"כ נבהלתי לעשות לפי התחביר שראיתי כאן
וזה התוצאה
ב"ה עבד כמו שצריך
-
NODEJS שילוב משתנים במחרוזת קלט מהמשתמש@יוסף-בן-שמעון
כנראה שלא הסברתי את עצמי מספיק.
אם הבנתי נכון את הדוגמא שלך הרי זה בעצם לספק את הארגומנטים הנדרשים לביצוע בניית המחרוזת, הוי אומר הצבת הערכים במשתנים.
אני רציתי שהלקוח יוכל לשחק בכלל עם סדר הכיתוב במחרוזת.
כגון במקום:
"שלום name זו הודעה מבית הכנסת mosad
לידיעתך קיים על שמך חוב בסך sum עבור prod.
נא להסדיר את החוב עד לתאריך date"
הלקוח יעשה:
"הודעה חשובה מבית הכנסת mosad.
שלום name!
עדיין לא שילמת את חובך עבור prod, בסך sum .
נא להסדיר את החוב עד לתאריך date"
שיוכל לשנות את הסדר ולהשים את המשתנים שבא לו מתוך רשימת המשתנים שאתן לו -
התייעצות על רישיון ספריהברעיון ניתן להשתמש בזה בקלות לניהול טבלה מחוברת לMYSQL?
-
גיבויים של AWS EC2@dovid
אני עובד על לפי שעות.
אין לי כל אינטרס באמזון מלבד זה שהמליצו לי על זה מאוד (נדרים פלוס העביר לשם והיה מאוד מרוצה והוא המליץ לי, אומנם הוא לא משתמש ב EC2 אלא תוכניות אחרות, לי הסתדר לפתוח EC2 אז זה מה שעשיתי).
למען האמת כמו שאתה אומר להרים שרת זה להתקין את מה שצריך php, mysql, node וכו' את מה שאני משתמש, וא"כ לא זה הבעיה, (אולי כדאי לעשות איזה שהוא דף הוראות לעצמי לזכור כל מה שהתקנתי שיהיה נגיש בעת הצורך, ללא פיספוס איזה התקנה קריטית נשכחת.. אבל אני לא מסוגל בשלב זה לעבוד מידי לפי הספר).
מה שצריך תכלית זה גיבוי לקבצים וגיבוי לבסיס הנתונים.
במה שכתבת על הרצת כרון עם סינכרון לשרת אחר:
א. האם כדאי שרת בחברה אחרת, לכאורה כן, או שאין סיבה?
ב. האם ניתן לסנכרן את התיקיה שבו נשמרים הנתונים של mysql, ללא עצם החיבור באמצעות חיבור mysql אמיתי, אלא את החומר גלם של הזכרון שיושב באן שהוא בשרת.
ג. האם ומה מומלץ לגבי סינכרון mysql ברמת ה mysql?
תודה -
PSI בסליקת אשראי במערכת טלפונית@clickone
העניין הוא שאחד הלקוחות שצריך מצד אחד סליקת אשראי, ומצד שני הוא חושש שזה יכול לסגור לו את החשבון שם.
מדובר בחשבון בחברת הסליקה הבינלאומית stripe, הוא חושש שהם יראו חיובים שבוצעו על ידי API ממקור שאינו מאובטח.
באתר שלו הוא עובד עם יפריים שלהם לכן אין לו בעיה, אבל למערכת הטלפונית הוא חושש. -
ניהול מסכי לד כמו בפתחי חנויות@clickone
אני מתכווין למסכי הלד שבפתחי החנויות שרצים שם טקסטים מצד לצד.
אולי הייתי קורא לזה מסך אנלוגי. -
פעולה סינכרונית nodejs@dovid אמר בפעולה סינכרונית nodejs:
@חוקר
חוששני שאתה לא בקטע כעת של "להבין" אלא בקטע של "להצליח", אני טועה?
הסיבה שלא כדאי לעשות thenים בלולאה היא כיון שזה בזבוז זמן: אתה לא צריך שכל בדיקה תחכה לאחת, מה אכפת לך שהם יבוצעו במקביל? מה שחשוב לך זה לדעת מתי נגמרו כל הבדיקות ומה התוצאות שלהם. Promise.all/Promise.race הם בדיוק בשביל זה.נראה לי שציינתי את זה שעדיף לא לעשות כך בגלל הבעיה הזו.
בהחלט אני חושב איך ניתן להגיע להצלחה, אבל אני מנסה במקביל ללמוד את פרומיס
(אני מסתפק האם לבצע אחרי הלמידה בצורה א-סינכרונית, או תוך כדי, בצורה סינכרונית..) -
NODEJS עצירת המשך ביצוע פעולותעל טעם וריח אין להתווכח.
אני למשל משתמש תמיד בסוגריים, בעיקר בגלל אם אני יוסיף שורות וכדומה, אבל גם כי אני מרגיש שזה יותר קריא לי שזה בתוך בלוקים מסודרים. -
NODEJS עצירת המשך ביצוע פעולות@dovid אמר בNODEJS עצירת המשך ביצוע פעולות:
@חוקר אני ישמח אם תרחיב על אופן העבודה מול ימות המשיח.
אם נניח חסר את הנתון ואתה מבקש אותו שוב, ימות המשיח מבקש זאת המלקוח, ואחרי התשובה פונה אליך שוב עם URL עדכני, נכון?
בURL הבא יהיו כל הנתונים שאתה רוצה? או רק מה שהיה חסר ללא הנתונים הראשוניים של אותה השיחה?כל פעם הוא שולח את כל ה URL פלוס הערך האחרון שנוסף, אם אתה שולח לו שאתה צריך שוב ID כגון לתקן וכדומה הוא יישלח לך
http://domain.com/aaa?ApiDID=033080222&ApiRealDID=033080222&ApiPhone=0521234567&ApiExtension=/1&id=222333444&id=111444555
ואח"כ תבקש את השם הוא ייתן לך
http://domain.com/aaa?ApiDID=033080222&ApiRealDID=033080222&ApiPhone=0521234567&ApiExtension=/1&id=222333444&id=111444555&name=name&lest=2
וכן הלאה
(ברעיון זה טירוף כי בעצם כדי לקבל את הערך החמישי שאני צריך בשיחה זו, יש חמש בקשות הלוך ושוב בין השרתים, ובכל שלב הURL מתארך ולפי הנתונים ב URL על השרת שלי לבצע את ההתקדמות לשלב הבא. ואז הURL מתארך בפרמטר נוסף וכו'.)
כעת ברור יותר?