🚀 تخفیف ۳۵٪ + ۳.۵ میلیون هدیه! برنامه‌نویسی رو الان شروع کن - فقط امروز!
۰ ثانیه
۰ دقیقه
۰ ساعت
۱ Abdollah Piltan
سرعت پردازش بر روی داده ها
جامعه پی اچ پی ایجاد شده در ۰۷ مرداد ۱۴۰۲

سلام امیدوارم حال تون خوب باشه

چند تا سوال داشتم

۱.آیا نوع داده ایی (Data type) ذخیره میکنیم،

بر روی سرعت پردازش داده‌ها تاثیر گذار است ؟

به عنوان مثال سرعت پردازش بر روی ( int, Char, string, date) باهم تفاوت دارند ؟

۲. و نکته دیگر برای بهینه سازی این موارد چه اقدامی باید انجام داد ؟

(حجم کمتر و درست بر روی داده‌ها و سرعت پردازش بیشتر روی داده ها)

۳.به عنوان مثال، شماره شناسنامه، کد ملی، شماره تلفن، شماره حساب و ... موارد باید از نوع (int, باشند یا char ) ؟

(اگر امکان ش باشد، توضیح هم بدهید به چه دلیلی)

سلام،

  1. بله
  2. باید از نرمال سازی دیتابیس و ایندکس گذاری استفاده کنید، دیتاتایپ مناسب استفاده کنید، داده‌ها را کش کنید، استفاده از Engine و Character set مناسب ...
  3. فیلد عددی سرعت بسیار بالایی دارد، بنابراین هر فیلدی که میتواند خاصیت عددی داشته باشد روی int یا bigint ست شود. فیلدهایی که مقدار منفی ندارند روی unsigned ست شوند. فیلدهایی که طول ثابتی دارند مانند هش پسورد یا شماره تلفن یا کدملی یا شماره حساب میتواند روی char ست شود. طول char فیکس است و سرعت بالاتری نسب به string یا varchar دارد. برای تایم بعضاً اگر تبدیلات زیادی روی ستون داشتید و داده‌های زیادی در جدول مد نظر داشتید میتونید تایم را بصورت Epoch Time در یک فیلد int ذخیره کنید.(timestamp زمان جاری) نکته اینکه در رشته مقایسه بصورت کاراکتر به کاراکتر انجام میشود و این سرعت را نسب به داده عددی پایین می‌آورد.

این‌ها یک سری از کلیات بود که گفته شد ولی نیاز خواهید داشت مقالات مربوط به دیتابیس(نرمال سازی، ایندکس گذاری و ...) را مطالعه کنید.

یک مقاله در مورد (نکات مهم ایندکس گذاری روی جداول و افزایش Performance) نوشتم که میتونید این رو هم مطالعه کنید.

بهترین پاسخ
محسن موحد ۰۸ مرداد ۱۴۰۲، ۱۱:۵۲