PDA

View Full Version : سوال: سوال: در مورد كد نويسي



trade_mark
چهارشنبه 11 آبان 1390, 18:39 عصر
سلام
امروز از پشتيباني هاستم بهم ميل زدن كه زمان اجراي كدهاي mysql زياده و منابع هاست رو زياد اشغال ميكنه
مشكلم رو با تابع mysql_close حل كردم.
به نظرتون در فايل هايي كه اينكلود مي شوند نيز بايد اين عمل رو انجام دهم؟ يا فقط در پايان صفحه از اين كد استفاده كنم؟

Unique
پنج شنبه 12 آبان 1390, 19:55 عصر
دوست عزیز شما باید هر بار یک connection را باز مکنی وقتی کارت تموم شد اون را ببندی ! و مطمئن بشی بین باز و بسته شدن اونها Fatal Error نگیری که بسته شدن انجام نشده 1
اما سرعت اجرا چه ربطی به بستن connection ها داره ؟ برای بالا بردن سرعت اجرای query ها بایدهم جداولت خوب Index شده باشن و هم sql query های متناسب و بهینه ای نوشته باشی !

trade_mark
پنج شنبه 12 آبان 1390, 22:42 عصر
سپاس
مشكل من در سرعت اجراي كوئري نمي باشد.
سوال من اينه اگه مثلا در صفحاتي كه اينكلود مي كنم در صفحه اصلي , آيا مي توان در همان صفحه اصلي همه كانكش ها را با دستور mysql_close بست؟

Unique
جمعه 13 آبان 1390, 00:29 صبح
شما زمانی که connect میکنی یک Resource Handle یا Link بهت بر می گردونه ! mysql_close اگه بدون این Link صدا زده بشه ! آخرین connection باز شده را میبنده ! اگه شما فقط یکبار connect کنی همون connection بسته خواهد شد ولی اگه چند تا connect انجام میدی باید mysql_close را برای هر Link جدا فراخوانی کنی ! اما توجه داشته باش که از ورژن 4 php یک Garbage Collector خیلی خوب برای Resource های ایجاد شده توسط فایل و Database داره که اتوماتیک براتون آزاد میکنه ! اما برای زیبایی و انعطاف پیری کد من توصیه میکنم حتما connection بسته بشه ! البته برای mysql میشه تنظیم کرد که هر کاربر چند تا connect پارالل یا همزمان میتونه داشته باشه ! ولی بعید میدونم مشکل شما این باشه !


زمان اجراي كدهاي mysql زياده و منابع هاست رو زياد اشغال ميكنه
این مشکل از نداشتن index های مناسب و query های خوب هستش !
زمان اجرای کدهای mysql یا همون SQL Query ها هیچ ربطی به mysql_close نداره !