MySQL: איטיות בפעולות LIMIT גדולות | Slow large Limit offsets

יום שלישי, פברואר 1, 2011

(הפוסט רלוונטי במידה מסויימת גם ל-SQL Server) בעבר הדגמתי כיצד ניתן לבצע חלוקה לדפים ביעילות בMySQL וב-SQL Server, גם כשהטבלאות עליהן עובדים הולכות ומתנפחות. נתקלתי לא אחת במקרה בו הגולש (או המקרה הנפוץ יותר – מנוע חיפוש), מתחיל לרוץ על הדפים ומגיע לדף ה-1000 ויותר. במקרה כזה, מסד הנתונים צריך לעבור על כל הטבלה עד לשלב שאליו הוא הגיע. פעולה יקרה, איטית וזוללת משאבים תרשו לי להציע פיתרון אחר. ניקח לדוגמא את השליפה הזו: - Source Query – slow on large...
2 תגובות

עוד קצת ביצועים: שליפת "X הודעות חדשות" ממע' מסרים

יום חמישי, אוגוסט 12, 2010

אחד הרכיבים הנפוצים ביותר באתרי תוכן משתמש למינהם היא מערכת מסרים, ועדיף מערכת מסרים טובה. כשהאתר מצליח ונהיה פופולארי, תגלו עד מהרה את טבלאות ההודעות בראש רשימת הטבלאות העמוסות במסד הנתונים שלכם. בפוסט אציע פיתרון קל לביצוע, נוגד את כללי הנורמליזציה ובעיקר – עובד נפלא. כאשר ניגשים לבעיה, ניתן לראות 2 שימושים נפוצים: 1. הצגת מספר ההודעות בלבד 2. הצגת חלון DHTML קטן שמציג את הכותרת ורכיבים נוספים של הכותב או ההודעה. נתייחס לשניהם.   הפיתרון המוצע כאן הוא מאוד מאוד פשוט, אבל משפר ביצועים לעיתים בעשרות אחוזים:...
תגיות: , ,
אין תגובות

Cache עבור שאילתות עדכון

יום רביעי, אוקטובר 28, 2009

English: How to Caching updates to minimize I/O cost of these operations, for example – counting views on forum message. the solution I provided is to create a table/static variable that holds updates "log" and update the main heavy table with timer. For example – for counting forum message views, I add row to some log table (that I can store in somewhere else, like RAM drive or MySQL Memory table) with timer updates main table and empty the log table for fast access later. הבעיה: שרת SQL Server 2005 של מערכת Web. ניתוח...
אין תגובות