Posts

Showing posts with the label performance

count של כמה ערכים בשאילתא אחת ב - SQL

לעיתים אנחנו רוצים לספור כמה ערכים שונים בשאילתא אחת ב - MySQL. שליפה של סט נתונים מתוך טבלא בבסיס הנתונים, ומתוך הספירה הכללית COUNT(*)  לספור תתי נתונים. שיטה חמודה לעשות זא, באמצעות CASE WHEN ב- MySQL. SELECT          date(stime),      COUNT(salesid),      SUM(CASE status WHEN 'done' THEN 1 ELSE 0 END) as TotalDone,      SUM(CASE status WHEN 'remaining' THEN 1 ELSE 0 END) as TotalRemaining,      SUM(CASE status WHEN 'cancelled' THEN 1 ELSE 0 END) as TotalCancelled FROM  sales GROUP BY date(stime) mysql multiple count in single query - stack overflow

שליפת רשומה עדכנית ב - MySQL מתוך GROUP

במקרים רבים יש לנו טבלא בבסיס הנתונים המכילה אוסף רשומות של שינויי סטטוס הכוללים הסטוריה. משהו בדומה ל - בתאריך 2013-02-07, הועבר שחקן x לשרת s1 בתאריך 2013-02-07, הועבר שחקן y לשרת s2 בתאריך 2013-02-08, הועבר שחקן x לשרת s2 בתאריך 2013-02-09, הועבר שחקן x לשרת s3 בתאריך 2013-02-09, הועבר שחקן y לשרת s1 הטבלא תראה בערך כך: id date player server 1 2013-02-07 x s1 2 2013-02-07 y s2 3 2013-02-08 x s2 4 2013-02-09 x s3 5 2013-02-09 y s1 ואנחנו רוצים לשלוף את הרשומה העדכנית ביותר עבור כל אחד מהשחקנים. כלומר כל שחקן באיזה שרת הוא נמצא. שיטה מעניינת לעשות זאת, היא באמצעות left join query לאותה טבלא עצמה בצורה זו: SELECT     * FROM     table AS t         LEFT JOIN table AS t2 ON t.player=t2.player AND t.date < t2.date WHERE t2.date IS NULL זה ייתן לנו תוצאה כזו: id date player server 4 2013-02-09 x s3 5 2013-02-09 y s1 לקריאה נוספת: stack over...

עזרה בקינפוג mysql על Linux

סקריפט חמוד שגיליתי לאחרונה עוזר לקנפג את MySQL על לינוקס. תומך עד גרסה 5.1.* מריצים את הסקריפט, הוא משווה את קונפיגורציית ה - MySQL יחסית לעומס ונותן המלצות. כמובן שלא את כולן צריך לקבל ויש להבין את המשמעות של כל אחד מהפרמטרים, אבל עדיין זהו סקריפט שמאוד עוזר. http://www.day32.com/MySQL/ פשוט להוריד ולהריץ. עדכון: 28.7.2011 האתר עצמו ירד, ולכן ניתן לחפש את הקובץ tuning-primer.sh או להוריד אותו מכאן: tuning-primer.sh בנוסף קובץ חדש ומעניין לניתוח והמלצות על הרצת MySQL ניתן להוריד את mysqltuner.pl