           WHEN 'double' THEN 8
           WHEN 'decimal' THEN CEILING(NUMERIC_PRECISION/2)
           WHEN 'bit' THEN CEILING(NUMERIC_PRECISION/8)
-          WHEN 'set' THEN 64
+          WHEN 'set' THEN 8
           WHEN 'enum' THEN 8
           WHEN 'year' THEN 2
           WHEN 'char' THEN CHARACTER_OCTET_LENGTH

  ;
  
  drop temporary table if exists _split_candidate_keys;
  create temporary table _split_candidate_keys
   SELECT
      TABLE_SCHEMA,
      TABLE_NAME,

  declare split_num_column tinyint unsigned;
  
  drop temporary table if exists _split_unique_key_columns;
  create temporary table _split_unique_key_columns engine=MyISAM
   SELECT
      TABLE_SCHEMA,
      TABLE_NAME,
