sql >> Databáze >  >> RDS >> Mysql

1 velmi velký stůl nebo 3 velké stoly? Výkon MySQL

Toto je ve skutečnosti diskuse o dědičnosti Singe - Table - Dědičnost vs. Tabulka podle třídy a vynechání spojené dědičnosti. První se vztahuje k metodě A, druhá k vaší metodě B a metodě C by byla taková, že máte všechna ID vašich příspěvků v jedné tabulce a odkládá specifické atributy pro skupinové nebo uživatelské příspěvky do různých tabulek. I když máte vždy velkou tabulku má své negativní dopady spojené s plným skenováním tabulek, přístup rozdělování tabulek má také své. Záleží na tom, jak často vaše aplikace potřebuje přistupovat k celému seznamu příspěvků vs. pouze načítání určitých typů příspěvků. Dalším aspektem, který byste měli vzít v úvahu, je rozdělení dat na oddíly, které lze provést například pomocí databáze MySQL nebo Oracle. což je způsob uspořádání vašich dat v tabulkách s příležitostmi pro životní cyklus informací (ke kterým datům se přistupuje, kdy a jak často, lze jejich část přesunout a komprimovat, čímž se sníží velikost databáze a zvýší se rychlost přístupu k levé části dat v table), která je v zásadě rozdělena do tří hlavních technik:dělení na základě rozsahu, dělení na základě seznamu a dělení založené na hash. Další funkce, které nejsou tak běžně podporovány v souvislosti se zmenšením velikosti tabulek, jsou ty, které se zabývají vkládáním s časovým razítkem, které automaticky zneplatní vložená data po určité časové období vypršelo. To, co je skutečně hlavním rozhodnutím o návrhu aplikace a může zvýšit výkon, je rozlišovat mezi přístupy pro čtení a zápis do databáze na úrovni aplikace. Zvažte MySQL – Backend:Protože přístupy pro zápis jsou zjevně důležitější pro výkon databáze než přístupy pro čtení vám mohl nastavit MySQL - instanci pro zápis do databáze a další jako replikant o f to pro přístupy ke čtení, i když to je také diskutabilní, hlavně pokud jde o RDT (rozhodování v reálném čase), kde je absolutní konzistence dat v daném čase nutností. je technika pro zlepšení výkonu aplikací, i když zatím nevím o existujících řešeních ve světě PHP. Oracle Hot Cache je toho docela sofistikovaným příkladem. Mohli byste si však vytvořit svou vlastní implementovanou nad databází v paměti nebo pomocí memcache.




  1. Jak získat všechny názvy spouštěčů z databáze pomocí Java JDBC?

  2. Více Kde In

  3. Omezení samoodkazování v MS SQL

  4. čtení obrázku BLOB z databáze MySQL