I am going to assume that you are asking this question because
performance has not improved from this change. Is this correct?

I don't think that your surogate key (id) is useful, but that is
probably minor. I think that your hostings company suggestion is
probably a good idea, but will also probably not impact performance. A
prymary key is basically only a unique not null key, and it sounds
like your isbn field should have those properties.

>key_len=302
This is pretty horrible. If I needed better performance I would try to
turn the isbn field into a bigint (the dashes are the only non-numeric
characters and have no significance, right?). That would start with
something like:
ALTER TABLE `books` ADD `new_isbn` BIGINT NOT NULL ;
UPDATE `books` SET `new_isbn` = replace(`isbn`,'-','');
...
though that may require significant changes in your app (converting
the string into an int) but a stored procedure might make this
somewhat less painful.

What are your goals here?

-- 
Rob Wultsch
[EMAIL PROTECTED]
wultsch (aim)

-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to