సూచికలు చాలా సహాయకారిగా ఉంటాయి. అవి లేకుండా, సంబంధిత పట్టికలు మరియు నిలువు వరుసలను కనుగొనడానికి MySQL మొత్తం పట్టికను స్కాన్ చేయాలి, ఇది పెద్ద డేటాబేస్లలో చాలా అసమర్థంగా ఉంటుంది.
ఈ ట్యుటోరియల్ MySQL లోని షో ఇండెక్స్ నిబంధనను ఉపయోగించి ఇండెక్స్ సమాచారాన్ని ఎలా వీక్షించాలనే దానిపై దృష్టి పెడుతుంది.
పట్టిక సూచికలను చూపు
పట్టికలో సూచిక సమాచారాన్ని చూపించడానికి, మేము సూచిక సమాచారాన్ని పొందాలనుకుంటున్న పట్టిక పేరు తర్వాత షో సూచిక నిబంధనను ఉపయోగిస్తాము.
సాధారణ వాక్యనిర్మాణం ఇలా చూపబడింది:
సూచికలను చూపించు tbl_name;
ఉదాహరణకు, సకిలా నమూనా డేటాబేస్లోని పట్టికలలో ఒకదాన్ని పరిగణించండి. దిగువ ప్రశ్నలో చూపిన విధంగా మేము సూచిక సమాచారాన్ని పొందవచ్చు:
USE సకిలా;సినిమా నుండి సూచికలను చూపించు;
పై ప్రశ్న సకీలా డేటాబేస్లోని ఫిల్మ్ టేబుల్ నుండి ఇండెక్స్ సమాచారాన్ని ప్రదర్శిస్తుంది. అవుట్పుట్:
ఇండెక్స్ సమాచారాన్ని అర్థం చేసుకోవడం
SHOW INDEXES ఆదేశం పేర్కొన్న పట్టికలోని సూచికల గురించి సంబంధిత సమాచారాన్ని ప్రదర్శిస్తుంది.
ఈ క్రింది నిబంధనలు మరియు వాటి సంబంధిత సమాచారం అందించబడ్డాయి:
- పట్టిక: అవుట్పుట్ నుండి ఇది మొదటి కాలమ్. ఇది సూచిక నివసించే పట్టిక పేరును చూపుతుంది.
- ప్రత్యేకమైనది కాదు: ఇండెక్స్ డూప్లికేట్ కలిగి ఉంటే రెండవ కాలమ్ చూపిస్తుంది. విలువ బూలియన్, సూచిక 1 నకిలీలను కలిగి ఉంటుందని సూచిస్తుంది మరియు లేకపోతే 0 ఉంటుంది.
- కీ_పేరు: మూడవ కాలమ్ సూచిక పేరును చూపుతుంది. కన్వెన్షన్ ద్వారా, ప్రాథమిక కీ ప్రైమరీ యొక్క ఇండెక్స్ పేరును తీసుకుంటుంది.
- Seq_in_index: నాల్గవ కాలమ్ సూచికలో కాలమ్ సీక్వెన్స్ సంఖ్యను 1 విలువ నుండి ప్రారంభిస్తుంది.
- కాలమ్_పేరు: ఐదవ కాలమ్ కేవలం కాలమ్ పేరు.
- సంకలనం: ఆరవ కాలమ్ అనేది సూచికలో కాలమ్ ఎలా క్రమబద్ధీకరించబడిందో చూపించే విభాగం. మూడు సార్టింగ్ విలువలు ఉన్నాయి, A అనేది ఆరోహణ క్రమం, B అవరోహణ క్రమాన్ని సూచిస్తుంది మరియు NULL క్రమబద్ధీకరించబడలేదు.
- కార్డినాలిటీ: ఏడవ కాలమ్ డేటా విలువ యొక్క ప్రత్యేకతను చూపుతుంది. ఇండెక్స్లలో, నిర్దిష్ట ఇండెక్స్లో అంచనా వేసిన ప్రత్యేకమైన విలువల సంఖ్యను ఇది చూపుతుంది.
- ఉప_భాగం: ఎనిమిదవ నిలువు వరుస NULL తో సూచిక ఉపసర్గను ప్రదర్శిస్తుంది, మొత్తం కాలమ్ సూచిక చేయబడిందని సూచిస్తుంది.
- ప్యాక్ చేయబడింది: తొమ్మిదవ కాలమ్ ఇండెక్స్ కీలు ఎలా ప్యాక్ చేయబడిందో చూపిస్తుంది, కీలు ప్యాక్ చేయబడలేదని NULL సూచిస్తుంది.
- శూన్య: కాలమ్ NULL విలువలను కలిగి ఉంటే పదవ కాలమ్ నిర్దేశిస్తుంది. అవును, కాలమ్ శూన్య విలువలను కలిగి ఉంటే, మరియు కాకపోతే ఖాళీగా ఉంటుంది.
- ఇండెక్స్_టైప్: పదకొండవ కాలమ్ BTREE, HASH, RTREE మరియు FULLTEXT వంటి సూచిక పద్ధతిని చూపుతుంది.
- వ్యాఖ్య: పన్నెండవ కాలమ్ దాని కాలమ్లో వివరించబడని సూచిక గురించి సమాచారాన్ని చూపుతుంది.
- ఇండెక్స్_కామెంట్: పదమూడవ కాలమ్ సృష్టించబడినప్పుడు COMMENT లక్షణాన్ని ఉపయోగించి పేర్కొన్న సూచిక గురించి అదనపు సమాచారాన్ని చూపుతుంది.
- కనిపించే: పద్నాలుగో కాలమ్ అనేది ప్రశ్న ఆప్టిమైజర్కు కనిపించే సూచిక, అవును మరియు సంఖ్య విలువలతో.
- వ్యక్తీకరణ: సూచిక వ్యక్తీకరణను ఉపయోగిస్తుంటే పదిహేనవ కాలమ్ ప్రదర్శిస్తుంది మరియు కాలమ్ లేదా కాలమ్ ఉపసర్గ విలువ కాదు.
సూచన: SHOW INDEXES ప్రశ్న నుండి సూచికల గురించి సమాచారం SQLS స్టాటిస్టిక్స్ మాదిరిగానే ఉంటుంది.
స్కీమా ఇండెక్స్లను చూపు
మీరు స్కీమా గురించి ఇండెక్స్ సమాచారాన్ని కూడా పొందవచ్చు. ఈ ఫలితాన్ని సాధించడానికి సాధారణ వాక్యనిర్మాణం క్రింది విధంగా ఉంది:
TABLE_SCHEMA = schema_name;సకీలా స్కీమా గురించి సమాచారాన్ని చూపించే దిగువ ప్రశ్నను పరిశీలించండి:
టేబుల్_పేరు, ఇండెక్స్_పేరు నుండి సమాచారం_స్కీమా.స్టాటిస్టిక్స్ WHERE table_schema = నుండి ఎంచుకోండి'సకిలా';ఇది దిగువ అవుట్పుట్లో చూపిన విధంగా సకిలా స్కీమాలోని సూచికల గురించి సమాచారాన్ని ప్రదర్శిస్తుంది:
+ --------------- + ----------------------------- +|TABLE_NAME|INDEX_NAME|
+ --------------- + ----------------------------- +
|నటుడు|ప్రాథమిక|
|నటుడు|idx_actor_last_name|
|చిరునామా|ప్రాథమిక|
|చిరునామా|idx_fk_city_id|
|చిరునామా|idx_location|
|వర్గం|ప్రాథమిక|
|నగరం|ప్రాథమిక|
|నగరం|idx_fk_country_id|
|దేశం|ప్రాథమిక|
|కస్టమర్|ప్రాథమిక|
|కస్టమర్|idx_fk_store_id|
|కస్టమర్|idx_fk_address_id|
|కస్టమర్|idx_last_name|
|సినిమా|ప్రాథమిక|
|సినిమా|idx_title|
|సినిమా|idx_fk_language_id|
|సినిమా|idx_fk_original_language_id|
|ఫిల్మ్_ఆక్టర్|ప్రాథమిక|
|ఫిల్మ్_ఆక్టర్|ప్రాథమిక|
|ఫిల్మ్_ఆక్టర్|idx_fk_film_id|
|సినిమా_వర్గం|ప్రాథమిక|
|సినిమా_వర్గం|ప్రాథమిక|
|సినిమా_వర్గం|fk_film_category_category|
|సినిమా_పాఠం|ప్రాథమిక|
|సినిమా_పాఠం|idx_title_ వివరణ|
|సినిమా_పాఠం|idx_title_ వివరణ|
|జాబితా|ప్రాథమిక|
|జాబితా|idx_fk_film_id|
|జాబితా|idx_store_id_film_id|
|జాబితా|idx_store_id_film_id|
|----------------------------- అవుట్పుట్ ప్రసారం ------------------- -------
దిగువ చూపిన ప్రశ్నను ఉపయోగించి మీరు సర్వర్లోని అన్ని స్కీమాల నుండి సమాచారాన్ని కూడా పొందవచ్చు:
Table_name, index_name FROM information_schema.statistics నుండి ఎంచుకోండి;గమనిక : పై ప్రశ్న చాలా సమాచారాన్ని డంప్ చేస్తుంది. అరుదుగా మీరు అన్ని పథకాల నుండి సూచికలను పొందవలసి ఉంటుంది. అయితే, నమూనా అవుట్పుట్ క్రింద ఉంది:
+ -------------------- + ------------ +|TABLE_NAME|INDEX_NAME|
+ -------------------- + ------------ +
|innodb_table_stats|ప్రాథమిక|
|innodb_table_stats|ప్రాథమిక|
|innodb_index_stats|ప్రాథమిక|
|innodb_index_stats|ప్రాథమిక|
|innodb_index_stats|ప్రాథమిక|
+ -------------------- + ------------ +
ముగింపు
ఈ ట్యుటోరియల్లో, పట్టికలోని సూచికల గురించి సమాచారాన్ని పొందడానికి MySQL షో ఇండెక్స్ ప్రశ్నను ఎలా ఉపయోగించాలో మేము చర్చించాము. MySQL సర్వర్లోని ఒకటి లేదా అన్ని స్కీమాల నుండి ఇండెక్స్ల గురించి సమాచారాన్ని పొందడానికి information_schema ని ఉపయోగించడాన్ని కూడా మేము చూశాము.