timeout לפקודה (SQL + PHP) - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

timeout לפקודה (SQL + PHP)


Eviljelly

Recommended Posts

שלום , אני מנסה להכניס קובץ לתוך טבלה לפי הקוד הבא :

<?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 .

קישור לתוכן
שתף באתרים אחרים

למה לא להשתמש ב mysql עם הממשק cli שלו וזהו ?

אני מניח שפה זה איטי, כי אחרי כל שאילתה מוגדר בטח שזה יסגור אוטומטתית טרנזקסציה במקום לעשות הכל במכה (יש לזה בטח פרמטר כמו autocommit או משהו כזה בהגדרת mysql של php).

קישור לתוכן
שתף באתרים אחרים

אתה יכול לפרט קצת יותר

אין לי הרבה ידע בSQL ורוב מה שאני עושה מגיע מחיפושים בגוגל ..

בקשר ל cli - אתה מתכוון לשאילותות שאני עושה ישירות דרך ה phpmyadmin בחלון הקטן ?

אם כן אז זה לא מתאים לי כי התהליך צריך לקרות כל יום בצורה אוטומטית (אלא אם כן יש דרך לבצע את זה דרך קוד)

בקשר לדבר השני איפה בדיוק אני אמור לחפש הגדרה כזאת ?

קישור לתוכן
שתף באתרים אחרים

הסיבה שהסקריפט נעצר היא שהוא עבר את ה max_exec_time שמוגדר ב PHP.INI, שכנראה כרגע על 30 שניות.

זה המקס' הזמן המותר לסקריפט PHP לרוץ, ושלך פשוט עובר את ה 30 שניות ונעצר.

למה הסקריפט שלך איטי? כי הוא פותח וסוגר Session ל mysql כל שניה, זה לא יעיל וטוחן את המסד.

במקום לפרק את השילתא לשורות, פשוט תריץ אותה פעם אחת, כולה.

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

×
  • צור חדש...