سلام دوستان
جدولی به اسم user دارم که دارای فیلد های نام، نام خانوادگی، شهر (مراکز استان) و 10 فیلد دیگه هست
این جدول دارای 5 میلیون سطر هست
توی یکی از کوئری ها لازم دارم که مثلا کسانی که اسمشان میلاد و ساکن شهر تهران هستند رو واکشی کنم
من فیلد شهر رو index کردم و کوئری زیر حدودا 500 هزار رکورد داره توش
این رو تست کردم و خطا گرفتم؛ -نوع متغیر result بولین و محتوای اون true هست یعنی مقدار trueeeee رو چاپ میکنه- کوئری بالا (در صورت صحیح بودن؛ هست؟؟؟) با کوئری زیر چه فرقی داره از نظر سرعت:
میخوام بدونم وقتی بر اساس چند فیلد میخوایم جستجو داشته باشیم آیا خوبه که فیلد کلیدی رو index کنیم و بقیه پارامتر ها index نباشن؟؟؟
(توی این مثال index کردن 5 میلون رکورد که city بین 1 تا 31 دارن راحت تر نیست تا index کردن نام که n حالت مختلف داره.... ؟؟؟؟؟؟؟؟؟؟؟)
با تشکر
جدولی به اسم user دارم که دارای فیلد های نام، نام خانوادگی، شهر (مراکز استان) و 10 فیلد دیگه هست
این جدول دارای 5 میلیون سطر هست
توی یکی از کوئری ها لازم دارم که مثلا کسانی که اسمشان میلاد و ساکن شهر تهران هستند رو واکشی کنم
من فیلد شهر رو index کردم و کوئری زیر حدودا 500 هزار رکورد داره توش
select * from user where city = 21حالا میخوام روی این نتیجه یه کوئری دیگه بزنم و کسانی که اسمشان میلاد هست رو دریافت کنم
$result = mysql_query(" select * from (select * from user where city = 21) where name = 'میلاد'",$serverLink); if(gettype($result) == true) echo "trueeeee";
این رو تست کردم و خطا گرفتم؛ -نوع متغیر result بولین و محتوای اون true هست یعنی مقدار trueeeee رو چاپ میکنه- کوئری بالا (در صورت صحیح بودن؛ هست؟؟؟) با کوئری زیر چه فرقی داره از نظر سرعت:
select * from user where city=21 and name = 'میلاد'
میخوام بدونم وقتی بر اساس چند فیلد میخوایم جستجو داشته باشیم آیا خوبه که فیلد کلیدی رو index کنیم و بقیه پارامتر ها index نباشن؟؟؟
(توی این مثال index کردن 5 میلون رکورد که city بین 1 تا 31 دارن راحت تر نیست تا index کردن نام که n حالت مختلف داره.... ؟؟؟؟؟؟؟؟؟؟؟)
با تشکر