Hi!
At 05:04 PM 5/16/01 +0200, you wrote:
>>>4) Ok, datafiles created overnight. Now trying alter table ...
>>type=innodb
>>on a
>>>file with 1.2mil records. Still waiting after about 12 hours. Dumping
>>files
>>this
>>>size is going to be problematic. Machine pegs with load of around 12! I
>>suggest
>>>LOTS more testing on BIG tables. Small stuff normally works quite well,
>>but
>>HUGE
>>>tables is where it counts.Thanks for the help.
>>
>>It sounds like that the operation is disk bound. What is the CPU and
>>disk load?
>
>Did not check that - sorry. Machine was very sluggish - takes more than a
minute to log in. I don't think the process yeilds?
>
>>How big is the table in MBs? What kind of indexes you have?
>
>MyISAM table was around 60megs, index file around 35megs, table structure:
>
>CREATE TABLE dailystats (
> email varchar(80) default NULL,
> numsent smallint(5) unsigned default NULL,
> totsent int(10) unsigned default NULL,
> numreceived smallint(5) unsigned default NULL,
> totreceived int(10) unsigned default NULL,
> uniqueno varchar(7) default NULL,
> cc varchar(6) default NULL,
> statsdate date default NULL,
> KEY statsdate (statsdate),
> KEY cc (cc),
> KEY email (email),
> KEY uniqueno (uniqueno)
>) TYPE=MyISAM PACK_KEYS=1;
>
>
>>How much buffer pool you have configured in my.cnf?
>
>Settings taken from manual:
>
>[mysqld]
>
>innodb_data_file_path = ibdata1:2000M;ibdata2:2000M
>innodb_data_home_dir = /data/ibdata
>set-variable = innodb_mirrored_log_groups=1
>innodb_log_group_home_dir = /data/iblogs
>set-variable = innodb_log_files_in_group=3
>set-variable = innodb_log_file_size=30M
>set-variable = innodb_log_buffer_size=8M
>innodb_flush_log_at_trx_commit=1
>innodb_log_arch_dir = /data/iblogs
>innodb_log_archive=0
>set-variable = innodb_buffer_pool_size=80M
>set-variable = innodb_additional_mem_pool_size=10M
>set-variable = innodb_file_io_threads=4
>set-variable = innodb_lock_wait_timeout=50
Ok, it should not be too much disk bound because the buffer pool is that big.
I have never tested altering a table where MyISAM keys were packed.
A bug might be lurking there. Another possibility is that the fsync
slows down disk writes extremely much.
You could try altering the table first to a non-packed MyISAM table
and then to an InnoDB table. Also configuring a very big buffer pool
should be tested. Then look if the operation is disk bound or CPU bound.
Test also with smaller tables. Altering a table which has 1 million rows
should normally last 1 min - 3 hours, depending on whether it is
disk bound or CPU bound.
Regards,
Heikki
>
>--
>Richard Ellerbrock
>[EMAIL PROTECTED]
>
>
---------------------------------------------------------------------
Before posting, please check:
http://www.mysql.com/manual.php (the manual)
http://lists.mysql.com/ (the list archive)
To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php