CodeVerse | دنیای برنامه نویسان
838 subscribers
56 photos
1 video
65 links
💻 ترفند برنامه نویسی PHP & JavaScript
🚀 آموزش وردپرس
💡 ترفندهای کاربردی
🤖 هوش مصنوعی و تکنولوژی
👨‍💻آموزش • ترفند • پروژه

@ideveloperweb_z |ارتباط
Download Telegram
یک Query که روی 100 رکورد سریع است اما روی 10 میلیون رکورد فاجعه می‌شود
فرض کنید:
SELECT * FROM users WHERE email = 'user@mail.com'; 

سؤال مهم:
آیا روی ستون Email ایندکس دارید؟
اگر نه:
دیتابیس مجبور می‌شود کل جدول را اسکن کند.
اما با Index:
CREATE INDEX idx_email ON users(email); 

تفاوت می‌تواند از چند ثانیه به چند میلی‌ثانیه برسد.
🎯 بسیاری از مشکلات Performance از کد شروع نمی‌شوند.
از طراحی اشتباه دیتابیس شروع می‌شوند.
💡 توسعه‌دهندگان ارشد قبل از بهینه‌سازی کد، Query Plan را بررسی می‌کنند.

#Database #MySQL #Performance #Backend

@CodeVerse_dev
👍31
اشتباهی که باعث می‌شود دیتابیس شما هر ماه کندتر شود

بسیاری از توسعه‌دهندگان فقط به نوشتن Query فکر می‌کنند.

اما سؤال مهم‌تر:

«آیا داده‌ها را درست مدل کرده‌ایم؟»

مثال:

ذخیره وضعیت سفارش:

pending
processing
completed
cancelled

در یک ستون کنترل‌شده:

قابل جستجو

قابل ایندکس

گزارش‌گیری آسان

اما بعضی پروژه‌ها بعد از مدتی:

وضعیت‌ها را داخل JSON ذخیره می‌کنند.

قوانین مختلف ایجاد می‌کنند.

ساختار یکپارچه ندارند.

نتیجه؟

هر قابلیت جدید سخت‌تر از قبلی می‌شود.

💡 اکثر مشکلات Performance از Query شروع نمی‌شوند.

از طراحی اشتباه داده‌ها شروع می‌شوند.


#Database #MySQL #SoftwareEngineering

@CodeVerse_dev
4
چرا Pagination بعضی سایت‌ها در صفحات بالا کند می‌شود؟
روش رایج:
SELECT * FROM posts LIMIT 20 OFFSET 100000; 

هرچه OFFSET بزرگ‌تر شود،
دیتابیس باید رکوردهای بیشتری را رد کند تا به نتیجه برسد.
در دیتاست‌های بزرگ:
کندتر شدن Query
مصرف بیشتر منابع
افزایش زمان پاسخ
راه حرفه‌ای:
Cursor Pagination

در لاراول:
Post::cursorPaginate(20); 

🎯 این روش برای جداول بزرگ بسیار بهینه‌تر است.
💡 اگر میلیون‌ها رکورد دارید، مشکل فقط Query نیست؛ نوع Pagination هم مهم است.
#Database #Laravel #MySQL #Performance


@CodeVerse_dev
4👍2