Autor Zpráva
noName
Profil *
Zdravím, začal jsem číst kapitolu o návrhu databáze a trošku si to testovat různě testovat. Zajímají mě tyto věci:

1) Je tento návrh tabulek a jejich propojení správný?
2) Dočetl jsem se něco o indexech a hlavně o fulltextovém indexu, který může být pouze u innoDB. Jelikož využívám innoDB a někdy bych mohl fulltextový index potřebovat, je vhodné mít třeba 2tabulky innoDB a jednu MyISAM?

Díky za tipy a rady!
Kajman
Profil
1) V tabulce friend je id zbytečné, nechte primární klíč jako kombinaci následujících dvou sloupců.

noName:
který může být pouze u innoDB
Právě naopak, může se použít u MyISAM.

někdy bych mohl fulltextový index potřebovat, je vhodné mít třeba 2tabulky innoDB a jednu MyISAM?

Asi to řešte, až ho budete potřebovat. Pak si můžete udělat pomocnou tabulku MyISAM, kde bude např. jen id řádku a duplictní sloupec s textem pro indexaci. Tuto tabulku můžete např. aktualizovat pomocí triggerů.
noName
Profil *
Kajman:
Právě naopak, může se použít u MyISAM.
Jo, to jsem přehodil a nevšiml jsem si toho, omlouvám se.

No já dneska prováděl "testy" kdy jsem si dal do db 25 000 řádků a zkoušel jsem je vypisovat a trvalo to v Admineru 0, 192s (s tím, že mi zamrzl prohlížeč, ale to je spíše pomalým pc) a při selectu přes dibi cca 3s - výpis všech řádků a všech sloupečků (*). Pak jsem zkoušel i vyhledávání v textu s a bez fulltext indexu a nějaký extra znatelný rozdíl tam nebyl. Je to málo záznamů aby šel poznat rozdíl při použití indexů?
Kajman
Profil
Pro testování nezapomeňte vypnout cache
select sql_no_cache ...
Nevím, jak jste to porovnával (like, match boolean, match nad fulltextem), ale u různorodého nemalého textu na 25 000 řádcích bych tam už nějaký rozdíl čekal (ne v sekundách, ale v rozdíl v řádu by to mohl být).

Abyste nemusel vypisovat všechny položky, dejte omezení do where, ale jen si vypište počet vyhovujících řádků (count(*)).

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: