Middle
Որ տվյալները չպետք է ինդեքսավորվեն?
sobes.tech AI
Պատասխան AI-ից
Անհրաժեշտ չէ ինդեքսավորել հետևյալ տվյալների տեսակները՝
- Մեծ բինար տվյալներ (BLOBs/TEXTs): Այս դաշտերի ինդեքսավորումը պահանջում է մեծ քանակությամբ հիշողություն և disk տարածք, և մասային տեքստի համընկնումով որոնումը արդյունավետ չէ:
- Նվազագույն կարդինալություն ունեցող դաշտեր: Դաշտերը, որոնք պարունակում են շատ քիչ եզակի արժեքներ (օրինակ, բուլյան դաշտեր, վիճակի դաշտեր մի քանի արժեքներով), որոնման մեջ մեծ օգուտ չեն տալիս, քանի որ ինդեքսը կպահի շատ կրկնվող արժեքներ:
- Հաճախ փոփոխվող դաշտեր: Այս դաշտերի ինդեքսավորումը հանգեցնում է ինդեքսի մշտական թարմացման, ինչը կարող է բացասաբար ազդել գրառման գործողությունների կատարողականության վրա:
- Անհրաժեշտ չէ հաճախ հարցվող դաշտեր: Այս դաշտերի ինդեքսավորումը և պահպանումը անիմաստ է, քանի որ սպասարկման ծախսերը գերազանցում են հազվագյուտ հարցումների արագացման օգուտը:
- Մեծ քանակությամբ NULL արժեքներ պարունակող դաշտեր: Բազում տվյալների բազաներում NULL արժեքները կամ չեն ներառվում ինդեքսում, կամ անարդյունավետ են մշակվում:
- Արտադրական կամ հաշվարկված դաշտեր: Այս դաշտերի համար սովորաբար ավելի լավ է ինդեքսավորել սկզբնական դաշտերը և օգտագործել կանխատեսումներ (օրինակ, WHERE պայմաններ) ֆիլտրավորման համար:
Ինդեքսավորման որոշում ընդունելիս կարևոր է հաշվի առնել ընթերցման արագացման և գրառման դանդաղեցման միջև բալանսը, ինչպես նաև ռեսուրսների սպառումը: Հարցումների կատարման պլանների կանոնավոր վերլուծությունը օգնում է որոշել, արդյոք առկա ինդեքսը արդյունավետ է կամ անհրաժեշտ է կատարել կարգավորումներ: