View Full Version : سوال: طراحی View !
mostafa_zainy
سه شنبه 16 شهریور 1389, 03:38 صبح
سلام دوستان
بنده برای طراحی یک بانک اطلاعاتی نیاز به چندین ویو از چند جدول خاص دارم. چند تا از ویوها رو میتونم از روی ویو های موجود بسازم ، حال اگه منو ویوهای جدید رو از ویوهای موجود بسازم یا اینکه دوباره از جدول بسازم ؛ آیا تو سرعت واکشی تاثیری داره؟
بهزادصادقی
سه شنبه 16 شهریور 1389, 04:14 صبح
استفاده از view های معمولی در SQL Server هیچ تاثیر خاصی روی سرعت یک query نمی گذارد. علت این است که معمولا SQL Server از یک view مثل یک macro استفاده می کند. یعنی، در زمان اجرای یک query، اگر آن query از یک view خاصی استفاده می کند، SQL Server می آید و کد آن query را در همان لحظث بازنویسی می کند، و هر جا از اسم آن view استفاده شده، آن را برداشته، و به جای آن، کد تعریف view را جایگزینی می کند. پس استفاده از یک view معمولی نه سرعت شما را می برد بالا و نه به آن لطمه می زند.
به غیر از view های معمولی، مفهموی وجود دارد به نام indexed view. بر عکس یک view معمولی، یک index view مناسب می تواند سرعت یک query خاص را خیلی ببرد بالا. ولی پیاده سازی یک indexed view دشوار است و یک مقداری هم دارای ریسک های خاص خودش می باشد. من معمولا پیشنهاد می کنم همکارانی که تجربه زیادی با SQL Server ندارند، از استفاده از index view ها اجتناب پذیرند. در عمل هم، افراد معمولا خیلی به ندرت از این سازه های داده ای استفاده می کنند.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.