Visualizzazione dei risultati da 1 a 10 su 10

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    306
    In altre parole io con l'indice e con la PK che devo fare ?


    andiamo sul pratico


    1)
    vado a definire una tabella amici con tutti i nomi,cognomi e telefono dei miei ventimila amici.e definisco id come Primary Key


    codice:
    CREATE TABLE amici (
      id INT(20) AUTO_INCREMENT,
      nome VARCHAR(20),
      cognome VARCHAR(20),
      telefono INT(10),
      PRIMARY KEY(id)
    );

    ora così dopo creato questa tabella amici, vado ad inserire tutti i dati dei miei ventimila amici con INSERT........
    quindi ottengo una tabella amici piena di dati e quindi con 20.000 righe (record , giusto? con record identifichi le righe della tabella,giusto?)


    ora con la PK, io che faccio?




    2)
    Ora poi mi creo una tabella amici2 come prima, ma ha anche un indice col nome indice_cognomi; quindi ho indicizzato il cognome.


    codice:
    CREATE TABLE amici2 (
      id INT(20) AUTO_INCREMENT,
      nome VARCHAR(20),
      cognome VARCHAR(20),
      telefono INT(10),
      PRIMARY KEY(id),
      INDEX indice_cognomi (cognome)
    );

    Vado ad inserire tutti i 20000 amici che ho, come ho fatto prima.


    Ora ottengo quindi una tabella amici2 piena di dati dei miei amici.


    Cosa faccio con l'indice?

  2. #2
    Utente di HTML.it L'avatar di nman
    Registrato dal
    Jan 2011
    residenza
    Milano
    Messaggi
    1,333
    Quote Originariamente inviata da Alfoxx Visualizza il messaggio
    ........ Cosa faccio con l'indice?
    Con l'indice non fai nulla,
    lo devi solo creare se necessario e lasciarlo poi al DB



    Non ho capito perché 2 tabelle diverse ma con gli stessi dati ?????????????



    Comunque:

    - Il Numero telefonico assolutamente non numerico
    usa tranquillamente un formato Varchar(nn)


    Molto molto molto in generale ----- Cosa devi indicizzare:

    Tabella Amici con
    - IdAm (Key)
    - Nome
    - Cognome
    - Eccetera

    Tabella Appuntamenti con:
    - IdAp (Key)
    - RIdAm (Key esterna) (qui scrivi il IdAm di quello/a con cui hai appuntamento)
    - Dove
    - Ora
    - Motivo
    - Eccetera

    I campi IdAm e IdAp certamente indicizzati perché sono Key
    quindi tu quando in qualunque punto del DB dovrai fare riferimento a
    quello specifico record (esatto, il record è la riga )
    userai solamente il suo Id


    Il campo RIdAm si chiama KeyEsterna e nella tabella Appuntamenti
    ti dice con quale Amico hai l'appuntamento
    Anche quella va indicizzata ( con duplicati ammessi )
    perché serve a legare le tabelle fra di loro


    ______ Fino a qui c'è la base _________

    Poi devi valutare te se farai per esempio ricerche frequenti
    per esempio sui campi Cognome oppure Dove
    quei campi conviene indicizzarli

    attenzione pero a non indicizzare indiscriminatamente,
    perché gli indici ti aiutano nelle ricerche, ma ti rallentano
    negli INSERT

    Si tratta in effetti di altri campi nascosti che non puoi vedere


    Ripeto sono stato moltissimo riduttivo perché l'argomento
    è molto più esteso

    .

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.