Mysql 关于优化表结构的建议

Mysql 关于优化表结构的建议,mysql,database,Mysql,Database,我的表有5列:日期、名称、X、Y、Z 每个日期约有10个姓名。对于每个名字,大约有100万到500万条记录 查询通常如下所示: 从TABLENAME中选择sumZ,其中Name='somename'和日期在'somedate'和'otherdate'之间,按X,Y分组 对于这一小部分名称,我只是按日期对表进行分区;忽略在一个日期分区中扫描大量记录的额外费用,我们实际上不需要这样做,因为查询总是针对一个名称,但最多需要30天 现在我需要将其扩展到约600个名称,很明显,继续使用当前模型是不可行的

我的表有5列:日期、名称、X、Y、Z

每个日期约有10个姓名。对于每个名字,大约有100万到500万条记录

查询通常如下所示:

从TABLENAME中选择sumZ,其中Name='somename'和日期在'somedate'和'otherdate'之间,按X,Y分组

对于这一小部分名称,我只是按日期对表进行分区;忽略在一个日期分区中扫描大量记录的额外费用,我们实际上不需要这样做,因为查询总是针对一个名称,但最多需要30天

现在我需要将其扩展到约600个名称,很明显,继续使用当前模型是不可行的

我的第一反应是在每个日期内对每个名字进行细分。这可能会解决规模问题,因为MySQL会将其缩小到每个日期分区的单个子分区,无论哪个日期在BEVERY子句中


这是一个好的解决方案吗?我能做些更好的事吗?因为以自动化的方式创建这种结构将是一种痛苦;因为我每天都要加载数据,可能有新的名字。因此,我必须检查正在加载的CSV文件,为每个名称预先创建子分区,然后开始加载数据填充

显示数据库架构及其CREATE TABLE语句,包括索引。我现在没有访问服务器的权限。表上没有索引/PK没有合适的列可供索引