mysql_close();

memeri

Member
دوستا اگه از تابع mysql_close(); استفاده نکنم در آخر اسکریپتم طوری می شه؟؟؟؟
 

silvercover

کاربر متخصص
صرف امنیت هم که نباشه. با این کار منابع تخصیص یافته به برنامه شما با این عمل آزاد میشن. منابع منظورم مقدار رم و Cpu سرور هست.
 

iranexplorer.net

Active Member
برای سایتهای خبری اگر استفاده نشه تعداد connection های باز mysql ، زیاد میشه و سرعت سایت بشدت میاد پایین!
 

oxygenws

Active Member
هیچ اتفاقی نمیافته... با پایان گرفتن اسکریپت، تمام اتصالات پایگاه داده هم بسته میشن...
فقط دو نکته وجود داره...
۱- اگر برنامه ات زیاد طول می کشه، بهتره وقتی کارت با بانک تموم شد، اون رو ببندی.
۲- تعاریف در مورد دستورات pconnect فرق می کنه و ما در مورد این صحبت نمی کنیم.
 

oxygenws

Active Member
خب من دیدم که اتفاق افتاده.. چرا روی هوا حرف میزنید؟!
راست می گی هاااا، حواسم نبود رو هوا بودم!!!
می دونی، من اصولا مثل خیلی ها از رو باد معده صحبت نمی کنم، درسته اون زمان که اون مطلب بالا رو نوشتم به راهنمای PHP نگاه نکردم، اما به خاطر مستند بودن حرفام رفتم نگاه کردم و به جمله قشنگ زیر برخوردم...
کد:
Using mysql_close()[B] isn't[/B] usually necessary, as [B]non-persistent[/B] open links are [B]automatically closed[/B] at the [B]end of the script's execution[/B].
لازمه بگم که اون کلمه non-presistent به گزینه دوم که در بالا گفتم اشاره داره.

راستی یادم رفت بگم.... باز بودن اتصال به بانک، ربطی به مسایل امنیتی نداره.

موفق باشی فرزندم.
پ.ن: آقای ایران اکسپلورر، اون بالا، تو آسمون، هوا خوبه؟؟
 

iranexplorer.net

Active Member
من بازم میگم تاثیر منفی میذاره!

طرز برخورد خنده دار شما برام مهم نیست...

اما با اطمینان میگم و در چند سایت که برام مثال عینی هستند به علت همین جریان، سرعت سایت پایین رفت تا حدی که صفحه ی اول تا 5 دقیقه هم زمان میبرد برای لود شدن کامل.

یادمه حتی هاستی که اون سایت رو میزبانبی می کرد، دلیلش رو همین مورد اشاره کرد.
 

oxygenws

Active Member
اما با اطمینان میگم و در چند سایت که برام مثال عینی هستند به علت همین جریان، سرعت سایت پایین رفت تا حدی که صفحه ی اول تا 5 دقیقه هم زمان میبرد برای لود شدن کامل.
یادمه حتی هاستی که اون سایت رو میزبانبی می کرد، دلیلش رو همین مورد اشاره کرد.
آره، آره، تو درست می گی... من و توسعه دهندگان Php اشتباه می گیم و اصولا روی هوا حرف می زنیم...

راستی، دیگه از اونجا هاست نگیر، به نظر می رسه چیزی حالیش نیست!!
 

iranexplorer.net

Active Member
آره، آره، تو درست می گی... من و توسعه دهندگان Php اشتباه می گیم و اصولا روی هوا حرف می زنیم...

راستی، دیگه از اونجا هاست نگیر، به نظر می رسه چیزی حالیش نیست!!




اتفاقا منتظر این بودم که مدعی هاست هم بشی...

سایت مال من هم نبود سرور هم اختصاصی بود...

در تئوری حرف شما 99% درسته اما در عمل من دیدم مشکل ایجاد میکنه.... بازم تکرار میکنم "در عمل"... اینکه 99 درصد سایتها با مشکل برنمیخورن به ساختار برنامه نویسی شون بستگی داره...

دلیلی نداشت اینجوری صحبت کنید... همه چیز که مطلق نیست من هم استثنا رو مطرح کردم!

موفق باشید.
 
آخرین ویرایش:

oxygenws

Active Member
اتفاقا منتظر این بودم که مدعی هاست هم بشی...
سایت مال من هم نبود سرور هم اختصاصی بود...
یادم نمیاد جایی گفته باشم که هاست مال شما بوده باشه!!

در تئوری حرف شما 99% درست
در تئوری، حرف من 100% درسته.

اما در عمل من دیدم مشکل ایجاد میکنه...
به نظر می رسه اشکال از "شما" باشه تا Php :)

دلیلی نداشت اینجوری صحبت کنید... همه چیز که مطلق نیست من هم استثنا رو مطرح کردم!
درسته، اما در این مورد مطمئن باش مطلقه...

من هم اشتباه می کنم، اما وقتی فهمیدم اشتباه کردم، مثل یه بچه خوب قبول می کنم، یا حداقل سکوت می کنم.
 

memeri

Member
حالا سر یه mysql_close ساده دعوا نکنید.
به نظر من بهتر یه ایمیل بزنیم به [email protected] و ازون بپرسیم(من زبانم خوب نیست).
 

karevan

Member
ببخشید که این تاپیک رو بالا میارم!
اگه از این تابع توی کدمون استفاده نکنیم و آمار بازدید صفحه هم حد اقل 10000 بار در روز باشه
آیا میتونه تاثیری روی "Bandwidth Transfer" داشته باشه؟
 

alireza82

Well-Known Member
ببخشید که این تاپیک رو بالا میارم!
اگه از این تابع توی کدمون استفاده نکنیم و آمار بازدید صفحه هم حد اقل 10000 بار در روز باشه
آیا میتونه تاثیری روی "Bandwidth Transfer" داشته باشه؟

خیر! تاثیری در Bandwidth Transfer نداره! اصلا ربطی نداره!
بستن و نبستن این تابع فقط به برگشت سریع تر ریسورس سرور مربوط میشه! طبیعی هست که اگر خودتون کانکشن های مای اسکیوال رو به موقع ببندید این کار کمک میکنه منابع سیستم زودتر برگرده! هر چند اگر هم نبندید در پایان اجرای اسکریپت منابع آزاد خواهند شد!
موفق باشید
 

karevan

Member
ممنون از جوابتون
پس عادیه که گرفتن یه رکورد تکست از بانک اطلاعاتی و نمایشش روی صفحه که در روز حدود 100 هزار بار اجراء میشه باعث 1000 مگابایت ترانسفر در روز بشه؟!
 

firebird

Member
وقتی باید اتصال رو ببندید که از mysql_pconnect استفاده کنید وگرنه هیچ تأثیری نمیذاره. دلیل وجود این تابع اینه که وقتی تعداد زیادی کاربر دارید و اجرای اسکریپت طول میکشه اول کار یه اتصال ایجاد میکنید. کارای مربوط به دیتابیس رو انجام میدید. اتصال رو میبندید و بقیه اسکریپت به کارش ادامه میده. در نتیجه زمان اتصال به دیتابیس کوتاهتر از زمان اجرای اسکریپت میشه و کاربرای بیشتری میتونند به منابع دسترسی داشته باشند. (چون معمولاٌ تعداد اتصالهای همزمان به دیتابیس محدود هست).
 

karevan

Member
مطمئنی!!؟
ولی توی مرجع PHP صراحتا ذکر شده زمانی که از mysql_pconnect استفاده میکنید، نیازی به بستن اتصال ندارید!
 

firebird

Member
من گفتم که به جز این حالت بستن اتصال تأثیر خاصی نداره. نگفتم نیازی به بستن اتصال دائم هست یا نیست.

در مورد این چیزی هم که میگی میشه متن انگلیسیشو اینجا بذاری؟ من این دو صفحه رو خوندم ولی چنین چیزی که شما میگی ندیدم:
http://ir2.php.net/mysql_pconnect
http://www.php.net/manual/en/features.persistent-connections.php
 

جدیدترین ارسال ها

بالا