אשכול: יעילות מסד
View Single Post
ישן 01-08-11, 11:57   # 3
Erez | TrustMedia.co.il
עסק רשום [?]
 
מיני פרופיל
תאריך הצטרפות: Jul 2008
הודעות: 1,854

Erez | TrustMedia.co.il לא מחובר  

ציטוט:
נכתב במקור על ידי gillllll צפה בהודעה
תלוי לפי מה אתה שולף אם אתה למשל עושה שאילתות בסגנון
select * from X where text ='BLa'
אז הייתי מציע לך לשים אינדקס על השדה טקסט.
http://beginner-sql-tutorial.com/sql-index.htm

לגבי ה ID אם אתה כבר על שרת MYSQL או MSSQL וזה מפתח (כלומר הגדרת אותו כמפתח) אז זה אוטומטית כבר מוגדר אינדקס בגלל זה דיברתי רק על TEXT.
חוץ מזה אם יש לך שאילתות שאתה מחפש צירוף של ID וטקסט אני מציע לך לעשות גם על הצירוף אינדקס.

שים לב ששימוש ב INDEX יצרוך יותר זיכרון אבל השאילתות יבוצעו יותר מהר כלומר פחות עומס על המעבד.
הphpmyadmin משום מה לא מאפשר לי לעשות את השדה text בתור אינדקס
והשאילתות הם כאלו:
select `text`,`times` from `search` order by `time` limit 0,100
select `text` from `he` order by `time` limit 0,100

רק עם לימיט שונה בהתאם לדף.
בכל מקרה ראיתי את זה:
http://www.internet-israel.com/inter...9%D7%9C-mysql/

יש שם את המנוע Berkeley DB – BDB שנראה לי מתאים, אבל אני לא בטוח. אז האם זה יתאים עבורי?

וזה מהדוח של השאילתות האיטיות:

# Mon Aug 1 01:25:23 2011
# Query_time: 3.734186 Lock_time: 0.000106 Rows_sent: 100 Rows_examined: 320465
use ******;
select `text`,`times` from `search` order by `time` limit 0,100

# Mon Aug 1 01:32:44 2011
# Query_time: 4.665496 Lock_time: 0.036117 Rows_sent: 100 Rows_examined: 322565
use *****;
select `text`,`times` from `search` order by `time` limit 2100,100
__________________
  Reply With Quote