ERROR 1118 (42000): Row size too large (> 8126)
- MKI-Miro
- Člen | 278
Ahojte
Mam otazku na diskusiu. Mame web s 24 jazykmi. Ak spravime sql tabulku kde by boli stplce
name_sk, name_cz, name_pl … (24 stlpcov typu varchar 120)
meta_name_sk, meta_name_cz, meta_name_pl (24 stlpcov typu varchar 60)
meta_desc_sk, meta_desc_cz, meta_desc_pl (24 stlpcov typu varchar 155)
Tak skor ci neskor natrafime na chybu/limit ERROR 1118 (42000): Row size too
large (> 8126).
https://dev.mysql.com/…t-limit.html
Teraz je otazka ake by bolo nejlepsie riesenie?
- Zmenit stlpce z varcharov na text a dlzku osetrovat iba v aplikacii
- Rozdelit tabulku na viacere podla jazykov a teda ze co jazyk to vlastna tabulka (vyhodou by bolo ze pri joine nie je potrebna ziadna dalsia where podmienka)
- Rozdelit tabulku podla typov a teda pre name jedna tabulka, meta_name druha, meta_desc_ tretia
Pripadne nejake ine riesenie?
Dakujem
- David Grudl
- Nette Core | 8227
Obecně platí pravidlo, že přidání dalšího jazyka by nemělo vést k tomu, aby se používal příkaz ALTER. Takže další tabulka.