puriya_master
تازه وارد
سلام دوستان من یه بانک دارم 47 ملیون شماره بر اساس کد پستی داخلشه حالا میخوام کاربر بتونه مثلا 3 شماره اول که زد سیستم بین این 47 ملیون بره بگرده اونهایی که با مثلا پیش شماره 715 شروع شدند رو بشماره
کئوری که من استفاده میکنم این هست
select count(*) from `tblpostal` where LEFT(postal, $Code)= '".$Postall."$code تعداد شماره ها یعنی مثلا 917 که میزنه این میشه 3 یعنی 3 عدد اول
$Postall کدپستی هست که کاربر وارد کرده مثلا 917
این دستور درست اجرا میشه ولی حدود 10 ثانیه یا بیشتر طول میشکه دوستان کسی راه حل بهتری سراغ نداره
ین $code داینامیک هست یعنی کد پستی که کاربر وارد کرده رو میشمرم و میزارم داخلش
به اینصورن هم نوشتمش بازم تو زمان حدود 15 ثانیه بر میگردونه میخوام برسونم زیر 1 ثانیه
کئوری که من استفاده میکنم این هست
select count(*) from `tblpostal` where LEFT(postal, $Code)= '".$Postall."$code تعداد شماره ها یعنی مثلا 917 که میزنه این میشه 3 یعنی 3 عدد اول
$Postall کدپستی هست که کاربر وارد کرده مثلا 917
این دستور درست اجرا میشه ولی حدود 10 ثانیه یا بیشتر طول میشکه دوستان کسی راه حل بهتری سراغ نداره
ین $code داینامیک هست یعنی کد پستی که کاربر وارد کرده رو میشمرم و میزارم داخلش
به اینصورن هم نوشتمش بازم تو زمان حدود 15 ثانیه بر میگردونه میخوام برسونم زیر 1 ثانیه
کد:
SELECT COUNT(*) FROM `".$table."` WHERE substring(postal,1, $code)=$where_value
آخرین ویرایش توسط مدیر: