sql >> Database >  >> RDS >> Mysql

1 hele grote tafel of 3 grote tafels? MySQL-prestaties

Dit is eigenlijk een discussie over Singe - Table - Inheritance vs. Table Per Class Overerving en het missen van gezamenlijke overerving. De eerste is gerelateerd aan methode A, de tweede aan je methode B en methode C zou zijn dat je alle ID's van je berichten in één tabel hebt en specifieke kenmerken voor groepen of gebruikers uitstelt - berichten naar verschillende tabellen. Terwijl je altijd een grote tabel hebt heeft zijn negatieve effecten met betrekking tot volledige scans van tabellen, de aanpak van het splitsen van tabellen heeft ook zijn eigen . Het hangt af van hoe vaak uw toepassing toegang moet hebben tot de hele lijst met berichten versus alleen het ophalen van bepaalde berichttypen. Een andere overweging waarmee u rekening moet houden, is gegevenspartitionering die kan worden gedaan met MySQL of Oracle Database, b.v. wat een manier is om uw gegevens in tabellen te organiseren, gegeven kansen voor de levenscyclus van informatie (welke gegevens worden wanneer en hoe vaak geopend, kan een deel ervan worden verplaatst en gecomprimeerd, waardoor de database kleiner wordt en de snelheid voor toegang tot het linkerdeel van de gegevens in de tabel), die in feite is opgesplitst in drie hoofdtechnieken:op bereik gebaseerde partitionering, op lijst gebaseerde partitionering en op hash gebaseerde partitionering. bepaalde tijdsperiode is verstreken. Wat inderdaad een belangrijke beslissing is over het ontwerp van een applicatie en de prestaties kan verbeteren, is om onderscheid te maken tussen lees- en schrijftoegang tot de database op applicatieniveau. Overweeg een MySQL - Backend:omdat schrijftoegangen duidelijk belangrijker zijn voor de databaseprestaties dan leestoegangen u kan een MySQL-instantie instellen om naar de database te schrijven en een andere als replicant f dit voor de leestoegangen, hoewel dit ook bespreekbaar is, vooral als het gaat om RDT (realtime beslissingen), waar absolute consistentie van gegevens op een bepaald moment een must is.Objectpools gebruiken als een laag tussen uw applicatie en de database ook is een techniek om de prestaties van applicaties te verbeteren, hoewel ik nog geen bestaande oplossingen in de PHP-wereld ken. Oracle Hot Cache is er een behoorlijk geavanceerd voorbeeld van. U kunt er echter zelf een bouwen die is geïmplementeerd bovenop een database in het geheugen of met behulp van memcache.




  1. De thread_stack-parameter van de MySQL-server - wat is het? Hoe groot moet het zijn?

  2. SQL Server Collection Inventory Script -2

  3. wat betekent niet-geverifieerde gebruiker in MYSQL?

  4. Een telquery uitvoeren op basis van een dag in oracle sql