PDA

View Full Version : اتصال جدول ها در SQL باعث کند شدن میشود؟



shahroq
سه شنبه 17 خرداد 1384, 10:50 صبح
آیا درسته که وقتی جدول ها رو بهم متصل میکنیم سرعت database پایین تر میاد؟
پیشنهاد بعضی ها در طراحی database اینه که هیچ کدوم از جدول ها رو بهم وصل نکنیم. در عوض تو view ها جدول ها بهم متصل بشند.
کسی نظری داره؟

AminSobati
سه شنبه 17 خرداد 1384, 12:42 عصر
نه دوست عزیزم، ابدا!
ارتباط بین جدولها، اگر منظورتون FK هستش عملا تاثیری نداره. ضمنا FK اصلا ارتباطی به Join که در View صورت میگیره نداره. اتفاقا این Join هستش که Cost داره، نه FK!
موفق باشید

Navid7h
پنج شنبه 10 شهریور 1384, 00:44 صبح
همانطور که اکثرا متوجه شده اید وقتی در هنگام طراحی اسم و Data type یک فیلد از دو جدول را یکسان بگذاریم در هنگام ساختن View در EM به طور خودکا آنها را به وصل کرده و در قسمت کد کد Join آنها را مینویسد

حال یکی از دوستان با توجه به مطلب فوق میگفت :

دیگر احتیاجی به برقراری Relation و مشخص کردن FK نیست !!! :افسرده:

من تقریبا مطمن هستم که حرف این دوست خوبم غلط هست ولی چرا Sql آنها را به طور خودکار به هم وصل میکند؟ در هنگام ساختن View

AminSobati
شنبه 12 شهریور 1384, 00:03 صبح
ارتباطی که به عنوان جزئی از ساختار بانک اطلاعاتی به شمار میره، Foreign Key Constraint هستش. FK باعث میشه تا SQL Server کنترل کنه ارتباط بین جدول Parent و Child همواره برقرار باشه. اما ارتباطی که در Queryها میبینید، الزاما FK Constraint نیستند و وجود فیزیکی در دیتابیس ندارند. این ارتباط فقط نشان دهنده این هست که Join از کدوم جدول به کدوم جدول داره اتفاق میافته