נושאים פעיליםנושאים פעילים  הצגת רשימה של חברי הפורוםרשימת משתמשים  חיפוש בפורוםחיפוש  עזרהעזרה
  הרשמההרשמה  התחברותהתחברות RSS עדכונים
תיכנות
RSS UnderWarrior Forums : RSS תיכנות
נושא

נושא: ביטול buffering במסדי נתונים שונים.

שליחת תגובהשליחת נושא חדש
כותב
הודעה << נושא קודם | נושא הבא >>
fgs
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 09 August 2007 בשעה 08:37 | IP רשוּם
ציטוט fgs

שלום,
מה שאני מנסה לעשות זה בעצם לבטל את ה buffering כשאני שולף נתונים ממסד נתונים
(לא חשוב איזה, אם זה אפשרי רק בסוג אחד, אני אעבור לעבוד עם הסוג הזה)
אני אסביר את עצמי יותר טוב, נגיד ויש לי טבלה עם מיליון שורות ואני מריץ שאילתה פשוטה:
קוד:
]
select id from huge_table


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

האם יש אפשרות לא מסובכת לעשות את זה?


חזרה לתחילת העמוד הצג את כרטיס החבר של fgs חפש הודעות אחרות של fgs בקר בדף הבית של fgs
 
shoshan
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 16 July 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 4637
נשלח בתאריך: 09 August 2007 בשעה 09:55 | IP רשוּם
ציטוט shoshan

פשוט תפריד את השאילתות (ונהוג מליון שורות להציג בכמה עמודים (: )

זה תלוי סוג מסד, במסד ACCESS
SELECT TOP X FROM TABLE

במסד MYSQL
SELECT X FROM TABLE LIMIT SKIP,COUNT

במסד MSSQL
SELECT TOP X FROM TABLE
ואפשר גם להתחכם ולעשות

קוד:
select * from (
 select top **COUNT** emp_id,lname,fname from (
    select top **COUNT**+**SKIP** emp_id,lname,fname
    from employee
   order by lname asc
 ) as newtbl order by lname desc
) as newtbl2 order by lname asc



__________________
עד מתי רשעים יעלוזו?

עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
חזרה לתחילת העמוד הצג את כרטיס החבר של shoshan חפש הודעות אחרות של shoshan בקר בדף הבית של shoshan
 

אם ברצונך להגיב לנושא זה עליך קודם להתחבר
אם אינך רשום/ה כבר עליך להרשם

  שליחת תגובהשליחת נושא חדש
גרסת הדפסה גרסת הדפסה

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