A *-gal prod rendszerben az a baj, hogy nem garantált a mezők visszatérési sorrendje. Ami azt jelenti, hogy létrehozol egy táblát A, B, C mezőkkel, akkor a select *-os lekérdezés is A, B, C sorrendben adja vissza a mezőket. Ezt forráskódba illesztve működik is, amikor sorszámmal hivatkozol rájuk (column[1], column[2], column[3]). Majd amikor egy D mezővel ki kell egészíteni a táblát és valami jól szituált DBA újrakreálja a táblát és a következőképpen sorolja fel a mezőket: D, C, B, A, akkor a select * is ebben sorrendben tér vissza. Ami azt jelenti, hogy az alkalmazásodban column[1] értéke a D mező lesz, column[2] értéke C és így tovább. Érdemes rá egy egyszerű példa alkalmazást írni, hogy reprezentatívabb legyen a különbség.
Performancia szempontjából annyit ront a történeten, hogy a storage engine időnként elballag az (általam rajongott) rendszer adatbázisához, ahol az objektumokról tárol meta információkat és lekérdezi a mezőket. Ez akkor lehet problémás, ha éppen fut egy (vagy több) create utasítás, addig ugyanis a meta adatok lockolva vannak.
-----------
"Pontban 0:00-kor nem nagyon szoktak véletlen dolgok történni"