دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۲۶
  • آبان

جلسه ۳۳ : Index ها در SQLite

  • دسته‌بندی‌ها :
جلسه ۳۳ : Index ها در SQLite
    • جزئیات
    • نوع محتواآموزش تصویری

      مقدمه

      با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن ، و کاربرانی که دوره آموزش SQLite را دنبال می کنند. INDEX ها در SQLite یک ساختار داده است که سرعت عملیات در یک جدول را بهبود می بخشد. INDEX ها در SQLite را می توان با استفاده از یک یا چند ستون ایجاد کرد، و مبنای باینری را برای جستجوی سریع و دسترسی به داده ها فراهم می کند. INDEXکمک می کند تا پرس و جوهای SELECT و WHERE سریعتر انجام شود، اما سرعت ورودی داده ها را با عبارات UPDATE و INSERT کند می کند.در واقع، INDEX نیز نوعی جدول هستند که فیلد index را نگه می دارند و یک اشاره گر به هر یک از رکوردهای جداول موجود دارد. در ادامه ی این مباحث برای آشنایی با INDEX ها در SQLite با ما همراه باشید.

      INDEX ها در SQLite

      در ادامه ی این آموزش با انواع Index ها در SQLite و نحوه ی کار با آن ها آشنا می شوید.

      دستور CREATE INDEX

      سینتکس اصلی دستور Index ها در SQLite به صورت زیر است :

      مثال : 

      index های تک ستونی

      یک index تک ستونی، یکی است که بر اساس تنها ستون یک جدول ایجاد می شود.

      این سینتکس اصلی index تک ستونی است :

      مثال : 

      index های یکتا

      index های یکتا نه تنها برای کارایی استفاده می شوند بلکه برای یکپارچگی داده نیز کاربرد دارند.

      یک index یکتا اجازه ی درج رکوردهای تکراری در یک جدول را نمی دهد.

      سینتکس تعریف index های یکتا روی یک جدول به صورت زیر است:

      مثال : 

      index های مرکب

      یک index مرکب، یک index است که روی دو یا چند ستون در یک جدول اعمال می شود.

      سینتکس تعریف index مرکب روی ستون های یک جدول به صورت زیر است :

      مثال : 

      ممکن است برای انتخاب ستون ها در index تکی و index مرکب، از یک عبارت شرطی WHERE استفاده کنید.

      اگر در ساختار WHERE دو یا چند ستون باید انتخاب شوند، index مرکب بهترین انتخاب است.

      index ضمنی

      index های ضمنی توسط سرور دیتابیس، بصورت خودکار در زمان ایجاد یک آبجکت ایجاد می شوند.

      مثال

      در این مثال ما یک index در جدول COMPANY برای ستون salary ایجاد می کنیم :

      مثال : 

      برای لیست کردن تمام index های موجود در جدول COMPANY از دستور indices. به صورت زیر استفاده کنید :

      مثال : 

      کد فوق نتیجه ی زیر را تولید می کند sqlite_autoindex_COMPANY_1 که index ضمنی در زمان ایجاد جدول ایجاد می شود:

      مثال : 

      شما می توانید تمام  index های دیتابیس را به صورت زیر مشاهده کنید :

      مثال : 

      دستور حذف index

      یک index می تواند با استفاده از دستور DROP در SQLite حذف شود.

      هنگام حذف یک index باید مراقب باشید زیرا ممکن است کارایی کاهش یافته یا بهبود یابد.

      سینتکس اصلی حذف index به صورت زیر است :

      مثال : 

      حالا index ایجاد شده در مثال قبل را به صورت زیر حذف می کنیم:

      مثال : 

      هنگامی که باید از index ها اجتناب شود

      اگر چه index ها در نظر گرفته شده اند تا عملکرد پایگاه داده را افزایش دهند، اما زمان هایی وجود دارد که از آنها باید اجتناب شود.

      در موارد زیر باید از استفاده از index ها اجتناب شود :

      • جداول کوچک.
      • جداول هایی که به طور مرتب به روزرسانی می شوند یا عملیات را وارد می کنند.
      • ستون هایی که دارای مقدار زیادی از ارزش های NULL هستند.
      • ستون هایی که اغلب دستکاری می شوند.

      کلام آخر

      دستوراتی از جمله INSERT و UPDATE در زمان افزودن و یا حذف داده ها در جداول ، index های آن ها را نیز تغییر می دهند. به همین خاطر زمان بیشتری را می گیرد، اما شما می توانید با INDEX ها در SQLite مدت زمان این عملیات را کمتر کنید.

      QR:  جلسه ۳۳ : Index ها در SQLite
      به اشتراک بگذارید