Sobes.tech
Junior — Middle

Պատմիր իրավիճակի մասին, երբ ստիպված էիր ստեղծել կամ օպտիմալացնել տվյալների բազայի կառուցվածքը

sobes.tech AI

Պատասխան AI-ից

Իմ մի նախագծում ինձ անհրաժեշտ էր օպտիմալացնել առցանց խանութի տվյալների բազայի կառուցվածքը։ Սկզբում պատվերների աղյուսակը պարունակում էր ավելորդ տվյալներ և չէր նորմալիզացված, ինչը հանգեցնում էր տեղեկատվության կրկնության և արտադրողականության նվազեցման։

Ես նորմալիզացրի տվյալների բազան երրորդ նորմալ ձևին, բաժանելով տվյալները մի քանի աղյուսակների՝ պատվեր, հաճախորդ, արտադրանք, պատվերի մանրամասներ։ Սա թույլ տվեց նվազեցնել կրկնությունը և բարելավել հարցումների արագությունը։

Նաև ավելացրեցի ինդեքսներ հաճախ օգտագործվող դաշտերին, օրինակ՝ պատվերների աղյուսակում հաճախորդի արտաքին բանալիին, ինչը արագացրեց հաճախորդների որոնումները։

SQL-ում ինդեքս ստեղծելու օրինակ՝

CREATE INDEX idx_customer_id ON orders(customer_id);

Արդյունքում, հիմնական հարցումների կատարման ժամանակը կրճատվեց, և կառուցվածքը դարձավ ավելի ճկուն ապագա ընդլայնումների համար։