在MYSQL-myisam中,我应该如何处理表中的分区需要两种选择方式才能获得最佳性能?

在MYSQL-myisam中,我应该如何处理表中的分区需要两种选择方式才能获得最佳性能?,mysql,myisam,Mysql,Myisam,我有一张像贝娄一样的桌子: CREATE TABLE `hosts` ( `ID` int(11) unsigned NOT NULL AUTO_INCREMENT, `Name` varchar(60) NOT NULL, PRIMARY KEY (`ID`,`Name`), UNIQUE KEY `UniqueHost` (`Name`), ) ENGINE=MyISAM AUTO_INCREMENT=32527823 DEFAULT CHARSET=utf8 /*!50

我有一张像贝娄一样的桌子:

CREATE TABLE `hosts` (
  `ID` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `Name` varchar(60) NOT NULL,
   PRIMARY KEY (`ID`,`Name`),
   UNIQUE KEY `UniqueHost` (`Name`),
) ENGINE=MyISAM AUTO_INCREMENT=32527823 DEFAULT CHARSET=utf8
/*!50100 PARTITION BY KEY (`Name`)
PARTITIONS 20 */
我想在这里选择的是:

select * from hosts where Name = 'blah.com';
以及:

当我有上述两种选择方式以获得最佳性能时,我应该怎么做? 其他表需要此表的ID。 但是,我还需要经常选择主机名


另一个问题是我应该为3200万行创建多少个分区?

您的问题到底是什么?对不起,我正在编辑这个问题以获取更多详细信息。简单地说,选择一个分区,而忽略另一个分区。您只能在一个键上进行分区。我认为,在您的情况下,在复合键上进行分区是没有帮助的。
select * from hosts where ID = 123123;