פורסם 2008 בספטמבר 1517 שנים שלום , אני מנסה להכניס קובץ לתוך טבלה לפי הקוד הבא : <?php $link = mysql_connect("localhost" , "root" ) or die(mysql_error()); ; mysql_select_db("table",$link) or die(mysql_error()); $file_handle = fopen("file.sql", "r"); while (!feof($file_handle)) { $line = fgets($file_handle); echo $line ; echo "<BR>" ; //mysql_query($line , $link); } fclose($file_handle); echo "done" ;?>הקובץ כולל כמה מאות שורות עם פקודות SQL של הכנסה לטבלה .כשאני מריץ את זה בצורה הנוכחית זה מציג לי את זה תוך פחות משניה .כשאני מוריד את הערה ומנסה להכניס לטבלה זה מחזיר שגיאה אחרי 30 שניות ומכניס בערך 1500 שורות .(כשאני מריץ אני מוריד את הפקודות להצגה כדי לחסוך ...) למה זה כל כך איטי ? , או שאולי יש איזה מגבלה על הדטאבייס שאני לא מודע אליה ? הכל מתבצע על המחשב שלי , השרת הוא WAMP server .
פורסם 2008 בספטמבר 1517 שנים למה לא להשתמש ב mysql עם הממשק cli שלו וזהו ?אני מניח שפה זה איטי, כי אחרי כל שאילתה מוגדר בטח שזה יסגור אוטומטתית טרנזקסציה במקום לעשות הכל במכה (יש לזה בטח פרמטר כמו autocommit או משהו כזה בהגדרת mysql של php).
פורסם 2008 בספטמבר 1617 שנים מחבר אתה יכול לפרט קצת יותר אין לי הרבה ידע בSQL ורוב מה שאני עושה מגיע מחיפושים בגוגל .. בקשר ל cli - אתה מתכוון לשאילותות שאני עושה ישירות דרך ה phpmyadmin בחלון הקטן ? אם כן אז זה לא מתאים לי כי התהליך צריך לקרות כל יום בצורה אוטומטית (אלא אם כן יש דרך לבצע את זה דרך קוד)בקשר לדבר השני איפה בדיוק אני אמור לחפש הגדרה כזאת ?
פורסם 2008 בספטמבר 1617 שנים הסיבה שהסקריפט נעצר היא שהוא עבר את ה max_exec_time שמוגדר ב PHP.INI, שכנראה כרגע על 30 שניות.זה המקס' הזמן המותר לסקריפט PHP לרוץ, ושלך פשוט עובר את ה 30 שניות ונעצר.למה הסקריפט שלך איטי? כי הוא פותח וסוגר Session ל mysql כל שניה, זה לא יעיל וטוחן את המסד.במקום לפרק את השילתא לשורות, פשוט תריץ אותה פעם אחת, כולה.
פורסם 2008 בספטמבר 1617 שנים אז תשקיע קצת יותר ברצינות, יש לך פקודה בשם mysql שמאפשרת לך להכניס למסד נתונים פקודות ישירות. לא דרך אף ממשק.
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.