Autor | Zpráva | ||
---|---|---|---|
Kcko Profil |
#1 · Zasláno: 13. 1. 2012, 15:46:12
Ahoj,
vytvářím aplikaci soukromé pošty. Vše mám vyřešeno krom možnosti systémové zprávy. dále jen SM Modelová ukázka: Na webu je 1000 uživatelů, administrátor pošle SM všem. Na nelze odpovědět. Řeším jak ji ukládat. 1/ Bud ji uložím všem uživatelům, tj. zpráv (abych mohl sledovat příznaky: přecteno 1|0, datum přečtení, smazáno 1|0 atd.) Admin pošle 5 SM a v DB je 5000 zpráv, což je poměrně hodně. 2/ Mohu také poslat SM do zvláštní tabulky a příznaky sledovat v jiné tabulce (Nikdy si SM nepřečte všech 1000 uživatelů, ale třeba jen 700). Tento případ je horší o to, že se bude hůře skládat SQL dotaz a úspora místa už také není značná (1000 a 700). Nezná někdo optimálnější řešení? Jinak bych zvolil 1/ |
||
jenikkozak Profil |
#2 · Zasláno: 13. 1. 2012, 15:55:46
Kcko:
„Tento případ je horší o to, že se bude hůře skládat SQL dotaz a úspora místa už také není značná (1000 a 700).“ Ale je. První model zahrnuje 1000 zpráv + 1000 příznaků. Druhý model obsahuje jedinou zprávu a 0 - 1000 příznaků. |
||
Kcko Profil |
#3 · Zasláno: 13. 1. 2012, 16:09:14
jenikkozak:
Jasně ale těch příznaků taky bude víc a není to relace 1:n ale vztahuje se ten příznak ke zprávě, zjednoduššeně id | userFrom | UserTo | text ... | deleteUserFrom | deleteUserTo | readUserFrom ...atd Ale chápu co myslíš, jen prostě mi chybí nějaký model č. 3 :-) |
||
Kacko Profil |
#4 · Zasláno: 13. 1. 2012, 16:46:21
Doporucuji to resit takto:
message id | text ... connections id | fk_user_from_id | fk_user_to_id | fk_message_id a nad usery hodit primary_key |
||
Alphard Profil |
#5 · Zasláno: 13. 1. 2012, 17:10:38
Kcko:
Jde nějak odhadnout, kolik procent budou systémové zprávy tvořit ze všech zpráv a jestli budou dlouhé? Je to podle mě významné hledisko při rozhodování jestli komplikovat strukturu aplikace kvůli ušetření paměťové náročnosti. Jinak je mi bližší model 1. Chybějící 3 model by možná bylo neřešit systémová upozornění přes zprávy, ale prostě je někam uživateli vypsat a neřešit příznaky. Zobrazovat se bude, dokud ji admin nesmaže, v některých systémech jsem to tak viděl. |
||
Kcko Profil |
#6 · Zasláno: 13. 1. 2012, 17:48:25
Kacko:
Obecně jsem nadhodil strukturu tabulky, ve skutečnosti je tabulek víc a model si samozřejmě umím poskládát, primárně jsem chtěl ovšem pořešit systémové zprávy, nebyl jsem si zcela jist, ovšem díky. Alphard: No nelze, systémových zpráv moc nebude, cca 1-2x týdně, ale uživatelů je hodně. Když nad tím tak přemýšlím tak krom prostého snadného joinování by se to v 2 případě v různých výpisech velmi zesložištilo, takže model 2 asi zavrhuji. Model 3 vyznívá zajímavě, ještě to promyslím, jestli admin příznaky přečtení | smazání potřebuje vidět. Pak by se tedy skutečně jen poslala 1 zpráva a napojila se na ty ostatní. Díky |
||
Časová prodleva: 11 let
|
0