|
Neohapsis is currently accepting applications for employment. For more information, please visit our website www.neohapsis.com or email hr@neohapsis.com |
From: John Daisley (mg_sv_r
hotmail.com)
Date: Tue Feb 23 2010 - 05:07:29 CST
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Hi Jerry,
I guess modification of the table is needed! What are you trying to achieve by partitioning?
If the primary key is rarely used then maybe adding another column with a numeric value based on `prod_id` and adding that column to the primary key would work and at least let you do some hash partitioning to distribute data, may take some time to run if the table is large but something like this may work....
ALTER TABLE `prod_price` ADD COLUMN `partition_key` int unsigned;
ALTER TABLE `prod_price` DROP primary key;
UPDATE `prod_price` set `partition_key` = ASCII(prod_id);
ALTER TABLE `prod_price` add primary key(prod_price_id,partition_key);
ALTER TABLE `prod_price` PARTITION BY HASH(partition_key) PARTITIONS 4;
Just an rough idea based on me not knowing anything about your data and only a little about partitioning.
Be very interested to hear how you eventually overcome this issue so please do let me know what you decide.
Regards
John Daisley
==================
John Daisley
Certified MySQL DBA / Developer
IBM Cognos BI Developer
Tel: +44(0)1283 537111
Mobile: +44 (0)7819 621621
Email: john
butterflysystems.co.uk
==================
Sent via HP IPAQ mobile device.
-----Original Message-----
From: Jerry Schwartz <jschwartz
the-infoshop.com>
Sent: Monday, February 22, 2010 10:51 PM
To: mysql
lists.mysql.com
Subject: Partitioning
I'd like to know your opinions about partitioning the following table. Here's the relevant snippet:
Create Table: CREATE TABLE `prod_price` (
`prod_price_id` varchar(15) NOT NULL DEFAULT '',
`prod_id` varchar(15) DEFAULT NULL,
.
PRIMARY KEY (`prod_price_id`),
KEY `prod_id` (`prod_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8
Here's the deal. The primary key, `prod_price_id`, is rarely used. Prices, as you might expect, are fetched by `prod_id`. Both keys are randomly generated strings. (Before you ask, I am not a mental health professional and am therefore not qualified to judge my predecessor.)
How could I partition this table in a useful way?
Regards,
Jerry Schwartz
The Infoshop by Global Information Incorporated
195 Farmington Ave.
Farmington, CT 06032
860.674.8796 / FAX: 860.674.8341
<http://www.the-infoshop.com> www.the-infoshop.com
--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]