Bug #29677 sum() is very slow on solaris
Submitted: 10 Jul 2007 5:52 Modified: 10 Aug 2007 9:02
Reporter: JongSe Park Email Updates:
Status: No Feedback Impact on me:
None 
Category:MySQL Server: General Severity:S5 (Performance)
Version:solaris 5.9 OS:Solaris
Assigned to: CPU Architecture:Any
Tags: sum() is on solaris slower than linux

[10 Jul 2007 5:52] JongSe Park
Description:
sum() result set is very slow on solaris than linux.
I tested it several times for different OS, one is solaris. another is linux.

[root@server1 bin]# uname -a
Linux server1 2.6.9-34.ELsmp #1 SMP Fri Feb 24 16:54:53 EST 2006 i686 i686 i386 GNU/Linux
mysql> select sum(message_size) from zt_message where domain_idx = 0 and member_sn = 254;
+-------------------+
| sum(message_size) |
+-------------------+
|          94977954 | 
+-------------------+
1 row in set (0.04 sec)

[/usr/local/mysql/bin]#>uname -a
SunOS SRSS2 5.9 Generic_122300-03 sun4u sparc TAD,SPARCLE
mysql> select sum(message_size) from zt_message where domain_idx = 0 and member_sn = 254;
+-------------------+
| sum(message_size) |
+-------------------+
|          94977954 | 
+-------------------+
1 row in set (16.74 sec)

this is table schema:
CREATE TABLE `zt_message` (
  `domain_idx` int(11) NOT NULL,
  `member_sn` int(11) NOT NULL,
  `message_sn` int(11) NOT NULL,
  `message_type` char(2) default NULL,
  `mailbox_code` char(4) default NULL,
  `delete_flag` int(11) default '0',
  `attach_list` text character set utf8,
  `message_size` bigint(20) default '0',
  `readok` int(11) default '0',
  `smssend` int(11) default '0',
  `subject_header` varchar(250) character set utf8 default NULL,
  `date_header` varchar(80) default NULL,
  `to_header` text,
  `cc_header` text,
  `bcc_header` text,
  `from_header` varchar(80) default NULL,
  `other_header` text,
  `body` longtext character set utf8,
  `content_type` varchar(50) default NULL,
  PRIMARY KEY  (`domain_idx`,`member_sn`,`message_sn`),
  KEY `zt_message_idx1` (`domain_idx`,`member_sn`,`message_type`,`mailbox_code`,`delete_flag`),
  KEY `zt_message_idx2` (`domain_idx`,`member_sn`),
  KEY `zt_message_idx3` (`message_type`),
  KEY `zt_message_idx4` (`domain_idx`,`member_sn`,`delete_flag`),
  KEY `zt_message_idx5` (`domain_idx`,`member_sn`,`mailbox_code`,`delete_flag`)
) ENGINE=MyISAM DEFAULT CHARSET=euckr

I can't understand this result. 
function sum() isn't working well on solaris.
Please explain me this problem. what is wrong?

How to repeat:
mysql> select sum(message_size) from zt_message where domain_idx = 0 and member_sn = 254;

this is table schema:
CREATE TABLE `zt_message` (
  `domain_idx` int(11) NOT NULL,
  `member_sn` int(11) NOT NULL,
  `message_sn` int(11) NOT NULL,
  `message_type` char(2) default NULL,
  `mailbox_code` char(4) default NULL,
  `delete_flag` int(11) default '0',
  `attach_list` text character set utf8,
  `message_size` bigint(20) default '0',
  `readok` int(11) default '0',
  `smssend` int(11) default '0',
  `subject_header` varchar(250) character set utf8 default NULL,
  `date_header` varchar(80) default NULL,
  `to_header` text,
  `cc_header` text,
  `bcc_header` text,
  `from_header` varchar(80) default NULL,
  `other_header` text,
  `body` longtext character set utf8,
  `content_type` varchar(50) default NULL,
  PRIMARY KEY  (`domain_idx`,`member_sn`,`message_sn`),
  KEY `zt_message_idx1` (`domain_idx`,`member_sn`,`message_type`,`mailbox_code`,`delete_flag`),
  KEY `zt_message_idx2` (`domain_idx`,`member_sn`),
  KEY `zt_message_idx3` (`message_type`),
  KEY `zt_message_idx4` (`domain_idx`,`member_sn`,`delete_flag`),
  KEY `zt_message_idx5` (`domain_idx`,`member_sn`,`mailbox_code`,`delete_flag`)
) ENGINE=MyISAM DEFAULT CHARSET=euckr
[10 Jul 2007 9:02] Valeriy Kravchuk
Thank you for a problem report. Please, send my.cnf files from both Linux and Solaris. Describe hardware of both systems.
[10 Aug 2007 23:00] Bugs System
No feedback was provided for this bug for over a month, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".