Paano Maipakita ang Lahat ng Mga Index sa MySQL o Schema

How Show All Indexes Mysql



Ang MySQL database index ay tumutukoy sa isang uri ng istraktura ng data na ginamit bilang samahan ng data sa isang database at upang makatulong na maisulong ang bilis ng iba't ibang mga pagpapatakbo na isinasagawa sa MySQL.

Ang mga indeks ay lubhang kapaki-pakinabang. Kung wala ang mga ito, kailangang i-scan ng MySQL ang buong talahanayan upang makita ang mga nauugnay na mga hilera at haligi, na maaaring maging napaka-episyente sa malalaking mga database.







Itutuon ng tutorial na ito kung paano tingnan ang impormasyon sa index sa pamamagitan ng paggamit ng sugnay na SHOW INDEXES sa MySQL.



Ipakita ang mga index index ng Talahanayan

Upang maipakita ang impormasyon sa index sa isang talahanayan, ginagamit namin ang sugnay na Ipakita ang mga INDEXES na sinusundan ng pangalan ng talahanayan na nais naming makuha ang impormasyon sa index.



Ang pangkalahatang syntax ay ipinapakita bilang:





IPAKITA ang mga INDEX na tbl_name;

Halimbawa, isaalang-alang ang isa sa mga talahanayan sa sample na database ng Sakila. Maaari naming makuha ang impormasyon sa index tulad ng ipinakita sa query sa ibaba:

GAMIT sakila;

IPAKITA ANG MGA INDEXS MULA sa pelikula;

Ang query sa itaas ay ipapakita ang impormasyon sa index mula sa talahanayan ng pelikula sa Sakila database. Ang output ay:



Pag-unawa sa Impormasyon sa Index

Ipinapakita ng utos na SHOW INDEXES ang nauugnay na impormasyon tungkol sa mga index sa tinukoy na talahanayan.

Narito ang mga sumusunod na termino at kani-kanilang impormasyon na ibinigay:

  1. Talahanayan: Ito ang unang haligi mula sa output. Ipinapakita nito ang pangalan ng talahanayan kung saan nakatira ang index.
  2. Hindi Natatangi: Ipinapakita ng pangalawang haligi kung ang index ay maaaring maglaman ng isang duplicate. Ang halaga ay isang Boolean, na may 1 na nagpapahiwatig na ang index ay maaaring maglaman ng mga duplicate at 0 kung hindi man.
  3. Key_name: Ipinapakita ng pangatlong haligi ang pangalan ng index. Sa pamamagitan ng kombensiyon, ang pangunahing susi ay kinukuha ang index name ng PRIMARY.
  4. Seq_in_index: Ipinapakita ng ika-apat na haligi ang numero ng pagkakasunud-sunod ng haligi sa index na nagsisimula sa halagang 1.
  5. Column_name: Ang ikalimang haligi ay simpleng pangalan ng haligi.
  6. Koleksyon: Ang pang-anim na haligi ay isang seksyon na nagpapakita kung paano pinagsunod-sunod ang haligi sa index. Mayroong tatlong mga halaga ng pag-uuri, kasama ang A na pagkakasunud-sunod ng Acending, B na nagpapahiwatig ng Pagkakasunud-sunod na pagkakasunud-sunod, at Null bilang hindi inayos.
  7. Cardinality: Ipinapakita ng ikapitong haligi ang pagiging natatangi ng halaga ng data. Sa mga index, ipinapakita nito ang tinatayang bilang ng mga natatanging halaga sa tukoy na index.
  8. Sub_part: Ipinapakita ng ikawalong haligi ang indeks ng index na may NULL, na nagpapahiwatig na ang buong haligi ay na-index.
  9. Naka-pack: Ipinapakita ng ikasiyam na haligi kung paano naka-pack ang mga index key, na may NUL na nagpapahiwatig na ang mga key ay hindi naka-pack.
  10. Wala: Tinutukoy ng ikasampung haligi kung ang haligi ay maaaring maglaman ng mga halagang NULL. Oo, kung ang haligi ay maaaring maglaman ng mga null na halaga, at walang laman kung hindi.
  11. Index_type: Ipinapakita ng pang-onse na haligi ang paraan ng pag-index tulad ng BTREE, HASH, RTREE, at FULLTEXT.
  12. Komento: Ipinapakita ng ikalabindalawang haligi ang impormasyon tungkol sa isang index na hindi inilarawan sa haligi nito.
  13. Index_comment: Nagpapakita ang ikalabintatlong haligi ng karagdagang impormasyon tungkol sa tinukoy na index gamit ang katangian na COMMENT kapag nilikha.
  14. Nakikita: Ang ikalabing-apat na haligi ay ang index na nakikita ng query optimizer, na may mga halagang Oo at Hindi.
  15. Pagpapahayag: Ipinapakita ang labinlimang haligi kung ang index ay gumagamit ng isang expression at hindi isang haligi o haligi ng halagang awalan.

Pahiwatig: Ang impormasyon tungkol sa mga index mula sa query na SHOW INDEXES ay katulad ng SQLStatistics.

Ipakita ang Mga Schema Index

Maaari ka ring makakuha ng impormasyon sa index tungkol sa isang iskema. Ang pangkalahatang syntax para sa pagkamit ng resulta na ito ay tulad ng sa ibaba:

SELECT table_name, index_name MULA SA INFORMATION_SCHEMA.STATISTICS WHERE TABLE_SCHEMA = schema_name;

Isaalang-alang ang query sa ibaba na nagpapakita ng impormasyon tungkol sa schema ng Sakila:

SELECT table_name, index_name MULA sa impormasyon_schema.statistics WHERE table_schema ='sakila';

Ipapakita nito ang impormasyon tungkol sa mga index sa Sakila schema tulad ng ipinakita sa output sa ibaba:

+ ------------- + ---------------------------- +

|TABLE_NAME|INDEX_NAME|

+ ------------- + ---------------------------- +

|aktor|PRIMARY|

|aktor|idx_actor_last_name|

|address|PRIMARY|

|address|idx_fk_city_id|

|address|idx_location|

|kategorya|PRIMARY|

|lungsod|PRIMARY|

|lungsod|idx_fk_country_id|

|bansa|PRIMARY|

|kostumer|PRIMARY|

|kostumer|idx_fk_store_id|

|kostumer|idx_fk_address_id|

|kostumer|idx_last_name|

|pelikula|PRIMARY|

|pelikula|idx_title|

|pelikula|idx_fk_language_id|

|pelikula|idx_fk_original_language_id|

|film_actor|PRIMARY|

|film_actor|PRIMARY|

|film_actor|idx_fk_film_id|

|film_category|PRIMARY|

|film_category|PRIMARY|

|film_category|fk_film_category_category|

|film_text|PRIMARY|

|film_text|idx_title_description|

|film_text|idx_title_description|

|imbentaryo|PRIMARY|

|imbentaryo|idx_fk_film_id|

|imbentaryo|idx_store_id_film_id|

|imbentaryo|idx_store_id_film_id|

|----------------------------- OUTPUT TRUNCATED ------------------- -------

Maaari ka ring makakuha ng impormasyon mula sa lahat ng mga iskema sa server gamit ang query na ipinapakita sa ibaba:

SELECT table_name, index_name MULA sa impormasyon_schema.statistics;

TANDAAN : Ang query sa itaas ay nagtatapon ng maraming impormasyon. Bihirang kakailanganin mong makakuha ng mga index mula sa lahat ng mga iskema. Gayunpaman, ang isang sample na output ay nasa ibaba:

+ -------------------- + ------------ +

|TABLE_NAME|INDEX_NAME|

+ -------------------- + ------------ +

|innodb_table_stats|PRIMARY|

|innodb_table_stats|PRIMARY|

|innodb_index_stats|PRIMARY|

|innodb_index_stats|PRIMARY|

|innodb_index_stats|PRIMARY|

+ -------------------- + ------------ +

Konklusyon

Sa tutorial na ito, tinalakay namin kung paano gamitin ang query ng MySQL SHOW INDEXES upang makakuha ng impormasyon tungkol sa mga index sa isang talahanayan. Tiningnan din namin ang paggamit ng information_schema upang makakuha ng impormasyon tungkol sa mga index mula sa isa o lahat ng mga scheme sa isang MySQL server.