Avatar billede fangel Nybegynder
05. januar 2004 - 20:32 Der er 10 kommentarer og
1 løsning

Forklaring af output fra "SHOW INDEX FROM tabel.db"

Hej

sidder og roder lidt rundt i MySQL, og faldt over query'et "SHOW INDEX FROM tabel.database" som giver mig lidt assorteret informationer om tabellen - MEN den giver noget data jeg ikke helt havde foreset...

håber i kan se meningen i hverdan det er stillet op (formateret pænt af min PHP script)

---
Tabel_1 = {
  Row 1 = {
    Table: Tabel_1
    Non_unique: 0
    Key_name: PRIMARY
    Seq_in_index: 1
    Column_name: ID
    Collation: A
    Cardinality: 12
    Sub_part:
    Packed:
    Null:
    Index_type: BTREE
    Comment:
  }
  Row 2 = {
    Table: Tabel_1
    Non_unique: 1
    Key_name: adresse
    Seq_in_index: 1
    Column_name: adresse
    Collation: A
    Cardinality:
    Sub_part: 1
    Packed:
    Null:
    Index_type: FULLTEXT
    Comment:
  }
  Row 3 = {
    Table: Tabel_1
    Non_unique: 1
    Key_name: adresse_2
    Seq_in_index: 1
    Column_name: adresse
    Collation: A
    Cardinality:
    Sub_part: 1
    Packed:
    Null:
    Index_type: FULLTEXT
    Comment:
  }
  Row 4 = {
    Table: Tabel_1
    Non_unique: 1
    Key_name: adresse_3
    Seq_in_index: 1
    Column_name: adresse
    Collation: A
    Cardinality:
    Sub_part: 1
    Packed:
    Null:
    Index_type: FULLTEXT
    Comment:
  }
}
---

dvs 4 rækker om samme tabel... nogle der har en forklaring på det + hvilken en der er den "originale" tabel?

Morten
Avatar billede erikjacobsen Ekspert
05. januar 2004 - 20:37 #1
det her jo noget med FULLTEXT at gøre  -  der sker en masse bag din ryg!
Avatar billede fangel Nybegynder
05. januar 2004 - 20:42 #2
erik -> OK - men hvilken en skal jeg så gå ud fra er den "officielle" - det er til mit kæle-projekt phpMyAdmin-lite (under andet navn, dog), der skal vise lidt info om tabellerne...

Morten
Avatar billede erikjacobsen Ekspert
05. januar 2004 - 20:45 #3
Har du sat fulltext på adresse adresse_2 og adresse_3 ?
Avatar billede fangel Nybegynder
05. januar 2004 - 20:55 #4
jeg menes ikke at have sat fulltekst ?
Avatar billede erikjacobsen Ekspert
05. januar 2004 - 20:59 #5
Så må vi jo hellere se din tabeldefinition - så skal jeg nok prøve om jeg kan reproducere det.
Avatar billede fangel Nybegynder
05. januar 2004 - 21:10 #6
CREATE TABLE sverige_brugere (
  ID int(11) NOT NULL auto_increment,
  navn tinytext NOT NULL,
  nick tinytext NOT NULL,
  adresse text NOT NULL,
  kode tinytext NOT NULL,
  email tinytext NOT NULL,
  tlf int(11) NOT NULL default '0',
  m_tlf int(11) NOT NULL default '0',
  PRIMARY KEY  (ID),
  FULLTEXT KEY adresse (adresse),
  FULLTEXT KEY adresse_2 (adresse),
  FULLTEXT KEY adresse_3 (adresse)
) TYPE=MyISAM;

HMMM - det er jo netop nogle FULLTEXT keys - så det er der de kommer fra - men gad vide hvorfor de er kommet... kan ikke huske jeg selv har haft lavet dem...

interresant - har lavet noget jeg ikke selv kan huske jeg har lavet...

Nå, men nu fandt vi da forklaringen på hvorfor det var sådan...

---

hvordan kan jeg se at der er full-text på en tabel, ved at se der kommer flere rækker ved en SHOW INDEX eller hvordan?

---

og ved du hvordan man

1) generer et dump af databasen (der er ikke en smart funktion, jeg skal kigge på en "SHOW COLUMNS" og genere det ud fra det)

2) finder størelsen (i bytes) af en tabel

---

lægger du et svar for at få lidt point

Morten
Avatar billede erikjacobsen Ekspert
05. januar 2004 - 21:47 #7
;) Alting har en forklaring. Og ja, jeg mener det præcis er sådan du ser om der er fulltext index på.

1) Et program jeg har laver bare disse 2 ting for at tage et dump af en tabel

  SHOW CREATE TABLE `tabel`
  SELECT * FROM `tabel`

  prøv dig frem

2) Størrelse? Hmm, husker det ikke. Hvad med lidt reverse engineering på phpmyadmin ;))
Avatar billede erikjacobsen Ekspert
05. januar 2004 - 21:47 #8
(og gem point til dit projekt!)
Avatar billede fangel Nybegynder
06. januar 2004 - 14:28 #9
erik -> tjoo - de ekstra 30 gør nemlig en forskel i 13000 ;)

men så skal du have tak for hjælpen...

ad 2), tjaa, kiggede lidt i phpMyAdmin efter hvordan de lavede et dump af en tabel - og de bruger væsenligt mere kode på det end det du skrev... men det kan jo være der er en smartere funktion ;)

---

lukker

Morten
Avatar billede erikjacobsen Ekspert
06. januar 2004 - 14:30 #10
Jeg kan ikke præcis se hvad mysqlfront 2.5 gør, men det skulle være de
to kommandoer den fyrer af pr tabel. Men - *g* - det er jo dit projekt,
så god fornøjelse.
Avatar billede fangel Nybegynder
06. januar 2004 - 14:35 #11
erik -> tjaa - der skal nok komme nogle gode timer ud af at prøve at få det perfekt ;)

Morten
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester