🔥 ۴۰ درصد تخفیف ثبت‌نام دوره‌ها قبل از افزایش قیمت‌ها
۰ ثانیه
۰ دقیقه
۰ ساعت
۳ فریس برزویی
کوئری بهینه
تاجور خاتمی حل شده توسط تاجور خاتمی

سلام 

میخواستم اسامی افرادی که بالای ۵تا خرید رو داشتن رو از دیتابیس بگیرم 

به نظرتون این کوئری بهینه هست یا میشه بهترش کرد؟

select customerName from (select customers.customername, count(orders.CustomerID) as maximum from orders inner join customers on customers.CustomerID = orders.CustomerID group by (orders.CustomerID) having maximum > 5)

 

 

کوئری‌ها رو روی  دیتابیس orders و customers در لینک زیر اجرا میکنم

SQL Tryit Editor v۱.۶ (w۳schools.com)

 

 

 

سلام و احترام 

کوئریتون رو بررسی میکنم و بهتون همینجا اطلاع میدم

تاجور خاتمی ۰۸ دی ۱۳۹۹، ۱۴:۵۶

سلام و احترام

کوئریتون مناسب هستش، سعی کنید از joinها در جای مناسب و ضروری استفاده کنید تا فشار زیادی به دیتابیس نیاره.

میتونید از mysql view هم استفاده کنید تا داخل دیتابیستون اون چیزی که نیاز دارید رو برای شما به نمایش بزاره. برای مثال میتونید یک mysql view بنویسید که افرادی که بالایی 5 خرید داشتند رو به شما نمایش بده و شما مجبور نباشید که داخل کدتون کوئری سنگین بزنید.

mysql view میاد به شما یه سری داده نشون میده طبق کوئری که شما براش مشخص میکنید، (داده ای رو ذخیره نمیکنه و فقط وظیفه نمایش اون رو داره)

https://www.guru99.com/views.html

بهترین پاسخ
تاجور خاتمی ۰۸ دی ۱۳۹۹، ۱۷:۰۳

سلام خیلی ممنونم جناب صالحی لطف کردین

اینکه گفتین جای در جای مناسب و ضروری  از Join استفاده بشه؛ منظورتون چه موقع هست؟

 

به نظرتون mysql view میتونه جای join استفاده بشه ؟ 

فریس برزویی ۰۸ دی ۱۳۹۹، ۱۷:۵۹