sql >> Databasteknik >  >> RDS >> Mysql

MySQL-partitionering:varför det inte tar lämplig partition

HASH-partitioneringsschemat innebär att MySQL översätter ditt godtyckliga numeriska värde till sitt eget hashvärde. Du har definierat 366 partitioner. Vad tror du skulle hända om din fråga var:

FÖRKLARA PARTITIONER SELECT * FROM temp där PartitionID =400?

Ditt partitions-ID kan i detta fall inte betyda den verkliga partitionens ID/namn, eftersom det inte finns någon partition 400.

Nu, bara mellan oss två, kanske du är intresserad av att lära dig att MySQL:s HASHing-funktion är en enkel modul. Således mappar 0 till partition p0, 1 mappar till partition p1 och 400 mappar till partition 34 (==400-366).

Generellt sett bör du inte vara alltför intresserad av identifieringen av den speciella partitionen som används. Du borde vara mer intresserad av att veta att det finns en bra balans mellan partitioner.

Om saldot inte verkar rätt för dig, kan du överväga att använda KEY-partitioneringsschemat, där hashalgoritmen är baserad på en kontrollsummafunktion, vilket innebär att värden är mer "slumpmässigt" spridda jämfört med HASH-modulens partitioneringsschema.




  1. ändra kolumndatatyp från array till heltal

  2. Oracle - Hur man skapar en skrivskyddad användare

  3. SQL Server:Bifoga felaktig version 661

  4. Olöst symbol:sql::mysql::get_driver_instance(void)