PDA

View Full Version : سوال: بستن كانكشن در هر صفحه؟؟؟



javadt
جمعه 15 بهمن 1389, 12:28 عصر
سلام
من يك فايل db دارم كه مشخصات هاست و يوزر و ... بانك هست
هر جا كه بخوام از بانك استفاده كنم اين فايل رو اينكلود مي كنم
حالا مي خواستم ببينم اگر در صفحاتي كه من از بانك استفاده كردم اگر كانكشن رو close نكنم مشكلي پيش مياد؟
با تشكر

eshpilen
جمعه 15 بهمن 1389, 12:41 عصر
پس از پایان یک اسکریپت PHP، کانکشن های دیتابیس بصورت خودکار بسته میشن. ولی میگن از نظر Good Practice برنامه نویسی بهتره این کار رو در کد بلافاصله بعد از جایی که دیگه کاری با دیتابیس ندارید خودتون انجام بدید. البته بنظر بنده تا وقتی که اسکریپت ها سنگین و زمانبر نیستن یا سایت ترافیک واقعا بالایی نداره این قضیه چندان مهم نیست (واسه همین گفتم میگن!).
البته قضیهء کانکشن های Persistent فرق میکنه و با خاتمهء برنامه بسته نمیشن.

vahidmoghadam
جمعه 15 بهمن 1389, 15:27 عصر
دوست عزیز با تشکر از پاسخگویی

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

eshpilen
جمعه 15 بهمن 1389, 16:27 عصر
خب تاجایی که یادمه هربار که یک برنامهء PHP که از دیتابیس استفاده میکنه اجرا میشه یک کانکشن DBMS توسط موتور PHP باز میشه و بسته میشه. و این عمل برای هر درخواست دیگری چه از جانب همون کاربر و حتی درخواست دیگری که جزو همون صفحهء سایت هست، یا از جانب کاربران دیگر، تکرار میشه. این عمل مقداری هزینه بر هست و حالا در شرایط خاص ممکنه سرعت رو پایین بیاره یا نمیدونم هر درد دیگری! و در این موارد بهتره که اتصال با دیتابیس بسته نشه و مجددا برای ارتباط درخواست ها و صفحات دیگر با دیتابیس ازش استفاده بشه. بهرحال به این خاطر این امکان رو در PHP گذاشتن که کانکشن دیتابیس در پایان برنامه و یک درخواست و صفحه بسته نشه و درخواست بعدی بتونه از همون کانکشن فعال برای دسترسی به دیتابیس استفاده کنه. برای جزییات و روش استفاده هم به منوال PHP مراجعه کنید. بنده چون خیلی وقت پیش خونده بودم یادم نیست. بهرحال کاربردش کم هست بنظرم. چیز خاصی هم نیست! هر وقت نیاز بود میشه برنامه رو به اینصورت تبدیل کرد. البته احتمالا برای بعضی برنامه ها کاربرد مهم و زیادی داشته باشه. مثلا همین نرم افزارهای فروم که کار دیتابیس زیاد دارن و کاربر همزمان هم براشون زیاد هست.