یکی از قابلیتهای جذاب WordPress اینه که میتونی بر اساس Metadata جستجو کنی:
'meta_query' => [
[
'key' => 'price',
'value' => 1000,
]
]
خیلی کاربردیه.
ولی وقتی حجم داده زیاد بشه، postmeta میتونه تبدیل به گلوگاه بشه.
چرا؟
چون WordPress بخش بزرگی از اطلاعات اضافی پستها رو در ساختاری عمومی نگه میداره و Queryهای پیچیده روی Meta میتونن هزینهبر بشن.
مثلاً اگر مرتباً داری بر اساس:
price
stock
city
status
فیلتر میکنی، باید بررسی کنی آیا مدل ذخیرهسازی فعلی واقعاً برای این Queryها مناسبه یا نه.
گاهی مشکل از WordPress نیست.
مشکل اینه که از یک ساختار عمومی، برای دادهای استفاده کردی که تبدیل به داده پرتکرار و قابل جستجو شده.
برای پروژههای بزرگ، گاهی Custom Table یا طراحی دیتای مناسبتر میتونه منطقیتر باشه.
البته این به معنی «همیشه Custom Table بساز» نیست.
اگر ۵۰۰ محصول داری، احتمالاً نیازی به معماری عجیب نداری. 😄
ولی وقتی تعداد داده و تعداد Query بالا میره، باید مدل داده رو هم مثل کد Performance Review کنی.
@CodeVerse_dev