بهینه سازی دستور SELECT در SQL Server (بخش اول)
یک دیدگاه
در حال حاضر خالی است: ۰ ﷼
در بسیاری از مواقع وقتی می خواهید ساختار یک جدول را بررسی نمایید و یا تمام ستون های یک جدول را برگردانید معمولاً از دستور select * استفاده می کنید. درصورتی که جدول شما شامل تعداد فیلد های زیاد و رکورد های بی شماری از اطلاعات باشد حجم کاری بسیار زیادی برای Database Engine تعریف کرده اید.
select *
from Person.Person
در این حالت Database Engine برای بازخوانی ساختار جدول، باید View های موجود در INFORMATION_SCHEMA کوئری گرفته و فهرستی از ستون های جدول مورد نظر را بازخوانی کرده و بر اساس آن داده ها را به شما نمایش خواهد داد.
این در حالیست که با مشخص کردن لیست ستون های مورد نظر شما عملاً به Database Engine می گویید به چه ترتیبی و از کدام جدول اطلاعات خوانده شوند و عملاً نیاز به کوئری گرفتن از INFORMATION_SCHEMA وجود نخواهد داشت.
select p.BusinessEntityID,p.PersonType,p.NameStyle,p.Title,
p.FirstName,p.MiddleName,p.LastName,p.Suffix,p.EmailPromotion,
p.AdditionalContactInfo,p.Demographics,p.rowguid,p.ModifiedDate
from Person.Person p
این نکته را همیشه به یاد داشته باشید: همیشه دقیقا ستون های مورد نظر وهمان حجم از دیتارا که نیاز دارید توسط کوئری بازخوانی کنید.
ممنون از مطلب مفید و خوبتون
ممکنه در مورد information schema بیشتر توضیح بدین و کاربردش رو شرح بدین لطفا