نوشته شده توسط
aloneman2005
لطفا راجع به ایندکس ها بیشتر بگید و من چطور ایندکس رو مدیریت کنم . و کی بسازم اگر یک بار بسازم برای همیشه کافیه و همیشه رکوردها بر حسب اندکس حساب می شوند.
من نظرم اینه که در هنگام خارج شدن هر 100 تغییر در اضافه کردن رکورد ها ایندکس قبلی رو پاک کنم و ایندکس جدید بسازم
طبق کوئری که پست کردین یک ایندکس طراحی و ایجاد کردم. لطفا در کوئری آنالیز ابتدا دستور SET STATISTICS IO ON را تایپ و اجرا نموده سپس کوئری را یک بار اجرا کرده و نتیجه ای که مربوط به تعداد خوانده شدن جدول هست را کپی کرده، سپس عبارت CREATE INDEX زیر را روی بانک مورد نظر اجرا کنید و دوباره کوئری را اجرا کنید و همان اطلاعات مربوط به IO را کپی کنید و در این تاپیک پست کنید.
یعنی به این شکل:
SET STATISTICS IO ON;
SELECT noskhe.id,
noskhe.rank,
noskhe.serialbimeh,
noskhe.meli,
noskhe.codebimeh,
noskhe.noskhedate,
noskhe.nf AS illname,
noskhe.sumdrug,
noskhe.drug,
noskhe.suborganizeid,
noskhe.codepage
Doctors.doctorcode,
Doctors.nf AS doctorname,
suborganize.oname,
organize.name,
organize.pill * noskhe.sumdrug / 100 AS illdrug,
organize.porg * noskhe.sumdrug / 100 AS orgdrug,
organize.organizeid,
FROM noskhe
INNER JOIN Doctors
ON noskhe.doctorcode = Doctors.doctorcode
INNER JOIN suborganize
ON noskhe.suborganizeid = suborganize.suborganizeid
INNER JOIN organize
ON suborganize.organizeid = organize.organizeid
WHERE (noskhe.dscode = @dscode)
-------------
PRINT '---==============================================='
------------
CREATE NONCLUSTERED INDEX IX0 ON noskhe (dscode) INCLUDE (doctorcode, id, rank, serialbimeh, meli, codebimeh, noskhedate
,nf,sumdrug,drug,suborganizeid,codepage)
GO
---------------
SELECT noskhe.id,
noskhe.rank,
noskhe.serialbimeh,
noskhe.meli,
noskhe.codebimeh,
noskhe.noskhedate,
noskhe.nf AS illname,
noskhe.sumdrug,
noskhe.drug,
noskhe.suborganizeid,
noskhe.codepage
Doctors.doctorcode,
Doctors.nf AS doctorname,
suborganize.oname,
organize.name,
organize.pill * noskhe.sumdrug / 100 AS illdrug,
organize.porg * noskhe.sumdrug / 100 AS orgdrug,
organize.organizeid,
FROM noskhe
INNER JOIN Doctors
ON noskhe.doctorcode = Doctors.doctorcode
INNER JOIN suborganize
ON noskhe.suborganizeid = suborganize.suborganizeid
INNER JOIN organize
ON suborganize.organizeid = organize.organizeid
WHERE (noskhe.dscode = @dscode)
----------------
PRINT '--=================================='
---------------
SET STATISTICS IO OFF;