שלח תשובה

זירת השאלות

602
צפיות
7
תשובות

יעילות בחיפוש

,‏ 21 באוקטובר, 2004

שלום שמי יוסף מנהל אתר מוריה

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

הבסיס נתונים שלי זה SQL SERVER פעם שמעתי על שיטת האינדקס מזה? איך אני מיסם את השיטה הזאת בטבלה אצלי?

איך אתרים גדולים שיש להם טבלאותש יותר גדולים ממה שיש לי מבצעים את החיפוש יותר מהר?

אני מצצטער על אריחות בשאלה 🙂
אני אשמח לתשובה מפורטת 🙂

תגיות:

7 תשובות

  1. eLisHa הגיב:


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

    תשתמש באינדקסים בשדות כמו ID, כמו השאלה (תבדוק שאין אותה שאלה פעמיים)

    מקווה שעזרתי

  2. אוריקס הגיב:

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

    כמו כן, מהירות עליית הדף תלוייה בעוד 1001 גורמים (מהירות שרתים, איכות קוד…)

  3. ניר טייב הגיב:

    אתה מדבר על מפתח ראשי
    שזה אינדקס מיוחד מסוג unique .
    אינדקס יכול להיות כפול.
    תלוי בהגדרה שלו.

  4. yosefmoriya הגיב:

    תודה אם אפשר
    שלום לך אוריקס

    יש לי כמה בקשוץ אני מקווה שזה לא מוגזם בשבילך
    1. האנגלית שלי על הפנים יש מאמר בעברית?
    2. לפי איזה פרמטרים בוחנים את השרת מה המאפינים של שרת טוב?
    3. איזה גורמים חוץ יעילות הקוד והמהירות השרת הם אלו שמשפעים על מהירות החיפוש באתר שלי ?

    תודה רבה על הכל אשמח לתשובות מפורטות

  5. eLisHa הגיב:

    ….
    1… תחפש בגוגל, בטוח תמצא.

    2. אתה צריך לחשב את הping של השרת כך
    (ב win xp + 2000)
    Start – >Run – >cmd
    שם תכתוב ping http://www.bla.com (בלה.קום זה האתר של החברת איחסון) אתה צריך לקבל תשובה של 50 ms (מילישניות) או פחות.
    תבדוק את זה עם האתר של החברה ומספר אתרים שהיא מאחסנת.

    3.
    א. מס' הנתונים שאתה משווה בשאילתה (WHERE)

    ב. מס' השדות שאתה מבקש (select bla,bla – לא משמעותי אך עושה הבדל כשמבקשים הרבה רשומות.

    ג. האם השאילתה מהודרת (SP בSQL SERVER או Query ב ACCESS). זה מעלה את הביצועים בהרבה מאוד.

    מקווה שעזרתי

  6. זהר פלד הגיב:

    נראה לי שיש מאמר כאן באתר על
    אינדקסים במסדי נתונים, ואם לא כאן אז יש הסבר ב FAQ של פורום ASP בתפוז, ולדעתי גם ב FAQ של הפורום כאן.

שלח תשובה