Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL Partitioning:защо не взема подходящ дял

Схемата за разделяне на HASH означава, че MySQL преобразува вашата произволна числова стойност в своя собствена хеш стойност. Вие сте дефинирали 366 дяла. Какво мислите, че ще се случи, ако заявката ви беше:

ОБЯСНЕТЕ ДЯЛОВЕ ИЗБЕРЕТЕ * ОТ temp където PartitionID =400?

Вашият PartitionID не може да означава в този случай истинския ID/име на дял, тъй като няма дял 400.

Сега, само между нас двамата, може да ви е интересно да научите, че функцията HASHing на MySQL е прост модул. Така 0 се преобразува в дял p0, 1 се преобразува в дял p1 и 400 се преобразува в дял 34 (==400-366).

Най-общо казано, не трябва да се интересувате твърде много от идентифицирането на конкретния дял, който се използва. Трябва да ви е по-интересно да знаете, че има добър баланс на дяловете.

Ако балансът не ви се струва правилен, можете да обмислите използването на схемата за разделяне на KEY, където алгоритъмът за хеширане се основава на функция за контролна сума, което означава, че стойностите са по-„случайно“ разпределени в сравнение със схемата за разделяне на модула HASH.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Намерете позицията на текста, извлечете текст и вмъкнете в нова колона в MySQL

  2. Mysql изтрива всички публикации, които имат даден meta_key

  3. Неподдържана версия 52.0

  4. PDO вмъкнете прост масив в MySQL база данни

  5. Как да проверя дали текущият ред е последният избран ред в sql заявка?