سلام دوستان ، خسته نباشید
میخواستم بدونم برای نشون دادن تعداد رکورد های مربوط به ی کاربر بهتر هست که تعداد رو در دیتابیس ذخیره کنیم و بعد کمک و زیاد کنیم و یا بهتره که از کئوری COUNT استفاده کنیم ؟؟
ممنون
سلام دوستان ، خسته نباشید
میخواستم بدونم برای نشون دادن تعداد رکورد های مربوط به ی کاربر بهتر هست که تعداد رو در دیتابیس ذخیره کنیم و بعد کمک و زیاد کنیم و یا بهتره که از کئوری COUNT استفاده کنیم ؟؟
ممنون
به نظر من بهتری از count استفاده کنی
این چه کاریه که اول تو دیتابیس بنویسی بعد دوباره بخونی. یه دفعه با count می خونیش دیگه
:D
اخه شنیدم COUNT یکم کند عمل میکنه و رو دیتابیس فشار میاره!
من تو صفحه نزدیک به 20 بار کئوری COUNT ارسال میکنم
به نظر من بسته به شرایط داره و اینکه کجا بخواهی استفاده کنی، مثلا یه فروم داری و می خواهی در کنار مشخصات یوزر بنویسی که چندتا پست ارسال کرده اینجا بهتره که تو تیبل مشخصات کاربران یه ستون اضافه کنی و با هر پستی که ارسال می کنه یه دونه به اون اضافه کنی، وقتی هم که می خواهی مشخصات کاربر رو نشون بدی با یه کوئری هم مشخصات کاربر رو می گیری و هم تعداد پست هاش رو. ولی یه جای دیگه مثلا نشون دادن تعداد کاربران آنلاین زیاد جالب نیست که تعدادشون رو در بیاری و بریزی تو تیبل و از اونور دوباره بخونی دوباره چند لحظه بعد دوباره تعداد رو بخونی و اون ستون رو آپدیت کنی و همون قصه قبلی.
ازcount(*)استفاده کنید به جایcount(id)، این دومی افتضاح سرعت را پایین میاورد!! اون چیزی که شما شنیدید احتمال زیاد دومی هست.
این در مورد همه انواع select صدق می کنه یا فقط تو count که انتخاب یک فیلد سرعت رو پایین میاره؟
آخه شنیده بودیم توی select ها اگه * بذاریم سرعت کاهش پیدا می کنه و اگه یک فیلد در select وجود داشته باشه باعث کاهش زمان اجرا میشه.
در موتور MyIsam، چون شماره ی ردیف های جدول ذخیره میشود ،باعث افزایش سرعت میشود، اماcount(*)count(id)باعث میشود که جستجو در بین ردیف ها انجام شود که سرعت را کاهش میدهد.
در مورد سلکت چیزی که شما شنیدید صحیح است.
بالاخره ستاره بذاریم بهتره با اسم فیلدهارو بنویسیم.؟
این مقاله رو مطالعه کنید که کامل توضیح داده کجا باید از چه روشی استفاده کرد: (COUNT(*) vs COUNT(col
با سلام:
به نظر من اگه فیلد ID شما فیلد کلیدی باشه و روش INDEX انجام داده شده باشه سرعتش خیلی بالاتر هست نسبت به فیلد *.
دیگه نگا نندازین چون امیرحسین هم همینجا رو لینک زده.
//یه نگا به اینجا بندازین.با تشکر.
باسلام:
اگه شما فیلد ID رو اندکس کنید و از اون استفاده کنید سرعت نصبت به * بالاتر هست/