جلسه یازدهم دوره SQL Server ویژه برنامه نویسان با موفقیت برگزار گردید، در این مقاله گزارشی خواهیم داست از مباحثی که در این جلسه مورد بحث قرار گرفته است. در طی این جلسه چند سناریو مفیدی ارائه شد که خلاصهای دو سناریوی کاربردی را میتوانید در ادامه ملاحضه کنید
مباحثی که در این جلسه بررسی شد عبارتند از
1- معرفی سرویس FullText Search در SQL Server
2- بررسی نحوه نصب و راه اندازی FullText Search
3- آشنایی با Objectهای FullText Search در SQL Server (Noise Word,Stop List,FullText Index,FullText Catalog ,…)
4- زبان فارسی و چالشهای مربوط به آن در FullText Search
5- آشنایی با Trigger و نحوه استفاده از آن
6- معرفی Engineهای Open Source برای جستجوی حجیم (Sphinx , Elastic Search , Lucene.NET)
7- آشنایی با انواع مختلف Triggerها (DML Trigger , DDL Trigger , Logon Trigger)
8- آشنایی با View
9- آشنایی با Materialized View یا همان Index View درSQL Server
1- پیادهسازی FullText Search برای جستجو یکصد میلیون رکورد :
سال پیش در یکی از ارگانهای دولتی برای تدریس SQL Server رفته بودم این سازمان یک Web App و تعدادی Web Service برای بانک اطلاعاتی خود ارائه داده بود. زمانی که کاربران سایر ارگانها با وب سرویس این سازمان دولتی کار میکردند به شدت CPU Useage سرور بانک اطلاعاتی بالا دلیل این موضوع بر می گردد به جستجو روی یک Filed از نوع NVarchar(400) روش پیادهسازی برای این جستجو با Like بود. نتیجه کوئری بیش از 30 ثانیه طول میکشید. بعد از راهاندازی قابلیت FullText Search مدت زمان اجرای کوئریهای به کمتر از 1 ثانیه رسیده بود.
یکی از بهترین کارهایی که در این سناریو میتوانستیم انجام دهیم راهاندازی FullText Search بود اما این قابلیت یک مشکل برای زبان فارسی داشت و آن Prefix Search بودن آن بود.
برای اینکه متوجه مفهوم Prefix Search شوید این مثال را در نظر بگیرید. فرض کنید که لیست از رکوردهای نام خانوادگی دارید و قرار است جستجو با Like بر روی آن راهاندازی کنید.
حال اگر من دنبال رکوردهایی با شم که دارای شرط زیر باشد.
[sql]
SELECT * From Students Where Family Like N‘%اهری%’
[/sql]
در این صورت رکوردهای طاهری، اهری و طاهریان در نتیجه نمایش داده خواهد شد که تا اینجا هم نتیجه درست است اما اگر همین کوئری با استفاده از امکانات FullText Search پیادهسازی شود فقط رکورد اهری در نتیجه نمایش داده خواهد چون FullText Search ابتدای کلمه را برای جستجو در نظر میگیرد.
در طی این جلسه قابلیت FullText Search را به همراه روش حل مشکل Prefix Search برای زبان فارسی را بررسی کردیم.
2- پیادهسازی جدولی برای جمعآوری لاگ تغییرات DDL :
فرض کنید در سازمان شما چندین بانک اطلاعاتی وجود دارد و شما میخواهید سوابق تغییرات DDL (مانند ایجاد جدول، اضافه شدن فیلد، حذف فیلد و…) را در بانک اطلاعاتی خود نگهداری کنید یکی از روشهای جالب برای انجام اینکار استفاده DDL Trigger میباشد.
در طی این جلسه ما با استفاده از DDL Trigger سوابق تغییراتی از این دست را نگهداری کردیم. با توجه به درخواست یکی از بچهها به این سناریو قابلیتی اضافه کردیم که بتوانیم IP کاربری که عملیات DDL را انجام داده در جدول سابقه هم ذخیره کنیم.
حتما بر روی دوره غیرحضوری زیر کلیک کنید و مباحث را بصورت کامل مشاهده کنید
منبع: آموزش برنامه نویسی نیک آموز
9 دیدگاه
مجتبی شهریور
سلام
فقط و فقط می تونم بگم خدا خیرتون بده…
حمیدقلیپور
با سلام و احترام
مجید
سلام، خسته نباشید
چطوری میشه فیلم آموزشی جلسه یازدهم و هشتم را دریافت کرد.
واقعا که کارتون درسته و ماشالا صدای خوبی هم برای آموزش دارید.
ممنون
فرید طاهری
سلام دوست عزیز
از لطف شما سپاسگزاریم
لطفا با شماره 44277699 – 021 تماس بگیرید، سفارش جلسات انتخابی بصورت تلفنی امکان پذیر است.
با تشکر
ساناز احمدی
سلام
ضمن تشکر از کار خوبتون می خواستم بدونم خرید تلفنی کد تخفیف داره ؟
و اینکه کل مجمعوعه کی تموم میشه ؟؟؟؟؟؟؟؟؟؟؟
tiyara9090@hotmail.com
سلام
من الان تماس کرفتم کسی جواب نداد ساعات کاری شرکت نیک آمز عصرها به چه صورت هست
متشکرم
فرید طاهری
سلام ساعت کار دفتر 8:30 الی 16:30 می باشد
اگر می خواهید با شما تماس بگیریم لطفا درخواست خودتان را به سامانه پیامکی 3000700626 ارسال کنید
با تشکر
محسن ایلخانی
سلام من این دوره رو خریدم. چرا این مباحثی که گفته شده تو دوره من نیست؟
آرزو محمدزاده
سلام و عرض ادب
سپاس از خرید شما
شما دوره را به صورت کامل مشاهده کردید؟ به شما پیشنهاد میکنم که تمامی فیلم ها و آموزش های مربوط به دوره را کامل مشاهده کنید و در صورت هر گونه مشکلی با کارشناس آنلاین سایت صحبت کنید.