ఒరాకిల్ డేటాబేస్లలో, డేటాబేస్ టేబుల్పై డేటా రిట్రీవల్ కార్యకలాపాల వేగాన్ని పెంచే డేటా స్ట్రక్చర్ను ఇండెక్స్ సూచిస్తుంది. అయితే, ఇది మీ డేటాబేస్లో అదనపు వ్రాత కార్యకలాపాలు మరియు నిల్వ స్థలం పెనాల్టీతో రావచ్చు.
కస్టమర్ రిలేషన్ షిప్ మేనేజ్మెంట్ సిస్టమ్లో డేటాబేస్ ఇండెక్స్ ఉపయోగపడుతుందనే దానికి ఒక ఉదాహరణ.
అటువంటి వ్యవస్థలో, మేము కస్టమర్ సమాచారాన్ని నిల్వ చేసే డేటాబేస్ పట్టికను కలిగి ఉండవచ్చు. ఇందులో పేరు, చిరునామా, చెల్లింపు పద్ధతులు, సంప్రదింపు సమాచారం మొదలైనవి ఉండవచ్చు.
పట్టిక అనేక రికార్డులను కలిగి ఉంటే, బహుశా వాటిలో మిలియన్ల కొద్దీ, డేటాబేస్ నుండి నిర్దిష్ట కస్టమర్ సమాచారం కోసం శోధించడానికి చాలా సమయం మరియు వనరులు పట్టవచ్చు. ఇది ప్రతికూల దృగ్విషయం, ముఖ్యంగా పనితీరు కీలకమైన డేటాబేస్లలో.
దీన్ని చుట్టుముట్టడానికి, మేము డేటాబేస్ సూచికను ఉపయోగించవచ్చు.
ఉదాహరణకు, మేము కస్టమర్ పేరు కాలమ్లో ఒక సూచికను సృష్టించగలము, అది డేటాబేస్ సిస్టమ్ పేరును ఉపయోగించి నిర్దిష్ట కస్టమర్ సమాచారాన్ని త్వరగా కనుగొని, తిరిగి పొందేందుకు అనుమతిస్తుంది. అందువల్ల, డేటాబేస్ ఇంజిన్ పట్టికలోని అన్ని అడ్డు వరుసలు మరియు నిలువు వరుసల గుండా వెళ్లే బదులు, ఇది కస్టమర్ సమాచారాన్ని చూసేందుకు సూచికను మాత్రమే ఉపయోగిస్తుంది.
ఈ ట్యుటోరియల్లో, కొత్త ఇండెక్స్ని ప్రారంభించడానికి ఒరాకిల్ డేటాబేస్లో CREATE INDEX ఆదేశాన్ని ఎలా ఉపయోగించాలో మీరు నేర్చుకుంటారు.
ఒరాకిల్ క్రియేట్ ఇండెక్స్ స్టేట్మెంట్
కిందివి ఒరాకిల్ డేటాబేస్లలో క్రియేట్ ఇండెక్స్ స్టేట్మెంట్ యొక్క సింటాక్స్ను చూపుతాయి:
ఇండెక్స్ ఇండెక్స్_పేరుని సృష్టించండిఆన్ టేబుల్_పేరు (కాలమ్1, కాలమ్2, ...);
పైన పేర్కొన్న వాక్యనిర్మాణం సూచికకు కీగా పేర్కొన్న నిలువు వరుసలను (కాలమ్1, నిలువు వరుస2, మొదలైనవి) ఉపయోగించి టేబుల్_పేరుతో పట్టికలో ఇండెక్స్_పేరు అనే సూచికను సృష్టిస్తుంది.
Oracleలో, ప్రాథమిక కీ అనేది నిలువు వరుస లేదా నిలువు వరుసల సమితి, ఇది పట్టికలోని ప్రతి అడ్డు వరుసను ప్రత్యేకంగా గుర్తిస్తుంది. డిఫాల్ట్గా, ప్రత్యేకత పరిమితిని అమలు చేయడానికి మరియు ప్రాథమిక కీ శోధనల పనితీరును మెరుగుపరచడానికి Oracle స్వయంచాలకంగా పట్టిక యొక్క ప్రాథమిక కీ నిలువు వరుసలపై ఒక ప్రత్యేక సూచికను సృష్టిస్తుంది.
అయితే, కొన్ని సందర్భాల్లో, మీరు నిర్దిష్ట పట్టిక కోసం మానవీయంగా కొత్త సూచికను సృష్టించాల్సి రావచ్చు.
మనం దీన్ని ఎలా సాధించవచ్చో కొన్ని ఉదాహరణలను చూద్దాం.
ఒరాకిల్ క్రియేట్ ఇండెక్స్ ఉదాహరణ
దిగువ అవుట్పుట్లో చూపిన విధంగా ఉద్యోగి సమాచారాన్ని కలిగి ఉన్న పట్టికను కలిగి ఉన్నారని అనుకుందాం:
ఉద్యోగుల నుండి మొదటి_పేరు, చివరి_పేరు, జీతం, అద్దె_తేదీని ఎంచుకోండి;
ఒరాకిల్ సింగిల్ కాలమ్ కోసం సూచికను సృష్టించండి
మనం మొదటి_పేరు నిలువు వరుసను ఉపయోగించి సూచికను సృష్టించాలనుకుంటున్నాము. చూపిన విధంగా మేము ప్రశ్నను అమలు చేయవచ్చు:
ఉద్యోగులు(FIRST_NAME)లో ఇండెక్స్ మొదటి_పేరు_లుకప్ని సృష్టించండి;ఈ CREATE INDEX స్టేట్మెంట్, FIRST_NAME నిలువు వరుసను ఇండెక్స్కి కీగా ఉపయోగించి, ఉద్యోగుల పట్టికలో first_name_lookup పేరుతో ఒక సూచికను సృష్టిస్తుంది. ఉద్యోగులను వారి మొదటి పేరుతో శోధించే ప్రశ్నల పనితీరును మెరుగుపరచడానికి ఈ సూచికను ఉపయోగించవచ్చు.
మేము సూచికను సృష్టించిన తర్వాత, చూపిన విధంగా నిర్దిష్ట ఉద్యోగి కోసం శోధించడానికి మేము దానిని ఉపయోగించవచ్చు:
మొదటి_పేరు, చివరి_పేరు, జీతం, అద్దె_తేదీని ఎంచుకోండిఉద్యోగుల నుండి
ఎక్కడ మొదటి_పేరు = 'విలియం';
ఫలితం:
First_name_lookup ఇండెక్స్ లేకుండా, FIRST_NAME నిలువు వరుస 'విలియం'కి సమానంగా ఉన్న అన్ని అడ్డు వరుసలను కనుగొనడానికి డేటాబేస్ సిస్టమ్ మొత్తం ఉద్యోగుల పట్టికను స్కాన్ చేయాల్సి ఉంటుంది. అయినప్పటికీ, ఇండెక్స్ స్థానంలో ఉన్నందున, డేటాబేస్ సిస్టమ్ త్వరితంగా 'జాన్' విలువను కీగా ఉపయోగించి సూచిక చేసి ఆపై పట్టిక నుండి అభ్యర్థించిన అడ్డు వరుసలను తిరిగి పొందండి, ఇది చాలా వేగంగా ఉంటుంది.
మీరు చూపిన విధంగా వివరించు ప్లాన్ కమాండ్ని ఉపయోగించి ప్రశ్న చేసేటప్పుడు ఉపయోగించే దశలను చూడవచ్చు:
SELECT మొదటి_పేరు, చివరి_పేరు, జీతం, అద్దె_తేదీ కోసం ప్రణాళికను వివరించండిఉద్యోగుల నుండి
ఎక్కడ మొదటి_పేరు = 'విలియం';
ఫలిత ప్రశ్న ప్రణాళిక:
ఉదాహరణ 2 – ఒరాకిల్ మల్టిపుల్ కాలమ్లతో ఇండెక్స్ని సృష్టించండి
అదేవిధంగా, మేము ఇచ్చిన పట్టికలో ఒకటి కంటే ఎక్కువ నిలువు వరుసలతో కూడిన సూచికను సృష్టించవచ్చు. ఉదాహరణకు, మనం మొదటి_పేరు మరియు చివరి_పేరు కాలమ్తో కూడిన సూచికను సృష్టించాలనుకుంటున్నాము.
చూపిన విధంగా మేము కోడ్ని ఉపయోగించవచ్చు:
ఉద్యోగులు (FIRST_NAME, LAST_NAME)పై ఇండెక్స్ మల్టీ_లుకప్ని సృష్టించండి;ఈ CREATE INDEX స్టేట్మెంట్ FIRST_NAME మరియు LAST_NAME నిలువు వరుసలను ఇండెక్స్కి కీగా ఉపయోగించి, ఉద్యోగుల పట్టికలో multi_lookup అనే సూచికను సృష్టిస్తుంది.
సృష్టించిన తర్వాత, మేము చూపిన విధంగా నమూనా ప్రశ్నలో చూపిన విధంగా ఈ సూచికను ఉపయోగించవచ్చు:
మొదటి_పేరు, చివరి_పేరు, జీతం, అద్దె_తేదీని ఎంచుకోండిఉద్యోగుల నుండి
ఎక్కడ మొదటి_పేరు = 'విలియం' మరియు చివరి_పేరు = 'స్మిత్';
ఫలిత విలువ:
మరియు అక్కడ, శోధన పరిధిని పరిమితం చేయడానికి సూచికలను ఉపయోగించడం ద్వారా మీ డేటాబేస్ ప్రశ్నలను వేగవంతం చేసే పద్ధతి మీకు ఉంది.
ముగింపు
డేటా పునరుద్ధరణ కార్యకలాపాల పనితీరును మెరుగుపరచడానికి పట్టికలో సూచికను సృష్టించడానికి Oracleలోని క్రియేట్ ఇండెక్స్ స్టేట్మెంట్ మమ్మల్ని అనుమతిస్తుంది. అయినప్పటికీ, ఇండెక్స్లు క్వెరీ పనితీరును మెరుగుపరచగలిగినప్పటికీ, అవి స్టోరేజ్ స్పేస్ పెనాల్టీలను కూడా కలిగి ఉంటాయి, ఇది రైట్ స్పీడ్ ఆపరేషన్లను తగ్గించడానికి దారితీస్తుంది, అవసరమైనప్పుడు మాత్రమే వాటిని ఉపయోగించండి.