Citácia:
Ked so pouzival MySQL, tak mas InnoDB engine, ktory podporuje referencnu integritu. Zas tam ale nemas fulltext asi, cize potom treba kombinovat MyISAM a InnoDB, co mi pride take skarede - alebo mozes riesit referencnu integritu v kode (Java alebo cokolvek ine). Viem, na co je fulltext dobry, len som ho nikdy nepotreboval pouzit. Ked som potreboval spravit jednoduchy search engine, tak som pouzil Lucene, ktory si vytvaral vlastny index z databazy dajme tomu dva krat denne cez cron job.
Ved to oznamujem
Referencna integrita je dobra, akurat ono to nie je mnohokrat az take palcive ako s nou. Rozdiel medzi Lucene a FULLTEXTom je hlavne v tom, ze na jednoduche ulohy ti to MySQL zjednodusi: nemusis cronovat, nemusis rebuildovat index. V Davane som to riesil tak, ze udaje z prispevkov boli zduplikovnane v separatnej MyISAM tabulke pod FULLTEXT indexom a hladalo sa nad nimi. Inak takto funguje aj toto PHPBB3 forum
Citácia:
Dobre vediet, ale velmi to neovplyvnuje jeho pouzitie. Teoreticky balast.
Prosim ta, neselfpwnuj sa takymito vyrokmi -- lebo to potom vyzera tak, ze vsetko co je
beyond basic knowledge, teda za uvodnymi kurzami (typu Stanford), je teoreticky balast -- a to nie je pravda. To, co sa nazyva teoreticky balast, v podobe znalosti DB admina znamena rozdiel v rychlosti dopytov aj v desiatkach sekund, lebo index jedneho typu vobec nepomaha dopytom ineho typu.
Citácia:
Aby si ako ten ziak, co nic nevie, nedopadla, ked prides do realneho sveta po skonceni skoly.
And I pray, aky je realny svet? Ved sam vidis, ze ti staci fungovat na mojej urovni, resp. urovni PHPckara, ktoreho znalosti efektivnosti koncia pri skolskych zasadach, ze primarny kluc je automaticky indexovany a tak isto UNIQUE, a ze dodrziavame aspon prvu normalnu formu, ale mam pocit, ze ziadas od ostatnych nieco, co v praxi sam nepotrebujes, kritizujes ich za to a prakticky to vobec nie je problem (rovnako ako stredoskolak a znalost XML).
Citácia:
Po druhe, toto je dost arogantna narazka na MySQL, ktora pokial viem, sa pouziva v niektorych najvacsich aplikaciach na svete. Facebook? 500 milionov pouzivatelov.
Treba davat velky pozor pri operovani s megakorporaciami. MySQL sa pouziva, ale velmi casto v kombinacii s inymi technologiami -- napr. FB pouzival donedavna NoSQL Cassandru. Velke korporacie MySQL pouzivaju velmi casto ako hlupe, alerychle ulozisko dat, obvykle za cenu kompromisov. V pripade megaaplikacii referencna integrita leti von ako prva, indexy obvykle nasleduju (pretoze drzat indexy krizom cez distribuovane prostredie je nemozne), velmi casto sa obetuje aj konzistencia dat cez uzly, mnohokrat ostava len jedna mega tabulka,
Vela spolocnosti robi to, ze data drzi vo ,,velkej" databaze a kazdu noc skopiruje relevantne read-only data do MySQL, oproti ktorej idu reporty -- pretoze to je rychlejsie a lacnejsie. Praktici ti ale ukazu, ze akonahle chces od MySQL schopnosti velkej databazy (planovac), tak musis s tym extremne zapasit a tuneri s nizkym rozpoctom radsej beru PostGreSQL.
Citácia:
Neviel, ci to SF zbuchal terminologiu, skor sa priklanam k nazoru, ze to slovenske prednasky a zdroje maju zbuchanu terminologiu. Pozri si aj MySQL dokumentaciu (ked uz sa bavime o MySQL) - najdi si cast indexy.
Ono sa stotoznuje pojem ,,index" ako ,,vec, ktora plni nejaku ulohu a ako collateral zrychluje vyhladavania v pri danej" s jeho implementaciou. Zaciatocnik vie, ze ,,primary key je ta vec, ktora jednoznacne identifikuje zaznam a ako collateral zrychluje vyhladavanie podla IDcka" a tam sa to konci, advancenec vie, ze to je implementovane ako B-strom a obvykle vie, ze su aj ine typy pouzitia, pre ktore sa maju pouzivat ine indexy (spatial a viacere).
Oracle napísal:
An index is a performance-tuning method of allowing faster retrieval of records. An index creates an entry for each value that appears in the indexed columns. By default, Oracle creates B-tree indexes.