分别在关键分区表和常规表上测量性能。但是我们无法通过分区找到任何性能改进。查询被修剪。MySQL分区性能
RHEL上使用MySQL 5.1.47 4.
表的细节:
UserUsage
- 将对用户的手机号码和数据使用每个日期条目。手机号码和日期作为PRI KEY。
UserProfile
- 查询prev表并存储每个手机号码的摘要。手机号码PRI KEY。
CREATE TABLE `UserUsage` (
`Msisdn` decimal(20,0) NOT NULL,
`Date` date NOT NULL,
.
.
PRIMARY KEY USING BTREE (`Msisdn`,`Date`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY KEY(Msisdn)
PARTITIONS 50;
CREATE TABLE `UserProfile` (
`Msisdn` decimal(20,0) NOT NULL,
.
.
PRIMARY KEY (`Msisdn`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY KEY(Msisdn)
PARTITIONS 50;
二表由查询更新日期在第一表格中一个perl程序选择和订购,查询是
select * from UserUsage where Msisdn=number order by Date desc limit 7
[在Perl过程数据]
update UserProfile values(....) where Msisdn=number
解释分区对于select,显示仅在特定分区中扫描的行。
分区设计或查询有问题,因为分区与普通表相比几乎相同或更多时间?
表中有多少条记录? – Quassnoi 2010-05-26 10:24:09
约1锰记录 – 2010-05-26 12:30:36