Mají pravdu. Připojování do textového pole CHAR(30) – zejména pole obsahujícího údaje o jménu osob – bude pomalé, hrubě neefektivní a neuvěřitelně křehké. Lidé si mění jména (manželství je zřejmým příkladem) a několik lidí může mít stejné jméno.
Chcete ve svých tabulkách vytvořit vhodné indexy, které budou podporovat pořadí, ve kterém se mají data objevit, a zapomenout na shlukování. Váš postup optimalizace výkonu zní jako katastrofa při hledání místa, kde se má stát. Promiňte, ale takové vypouštění/vytváření tabulek si žádá potíže.
Začal bych s UNIQUE INDEX na customer.id, UNIQUE INDEX na transakci.ticket_number a INDEX (pro výkon spíše než pro mohutnost, takže vynucení jedinečnosti není tak důležité) pro transakce (id, ticket_number DESC), a vzal bych to z tam. Data jsou vrácena z tabulky transakcí v pořadí, v jakém se objevují v indexu.
Klastrování bych zvažoval pouze tehdy, když byly vyčerpány všechny ostatní možnosti optimalizace dotazů.