OS: Solaris 10
DB: MySQL 5.0.45
CPU: 2
RAM: 4GB
NB !!! Database was installed inside of the Solaris zone (may be this is problem).
Problem: After a NavisRadius log's parsing, the data was placed into the one table, as a result we have 23 million records.
This query is very slow about 5~10 min.:
SELECT COUNT(*) FROM table1 tb1, table2 tb2
WHERE tb1.session_name = tb2.session_name
AND tb1.session_status = 'Start'
AND tb2.session_status = 'Stop'
AND tb1.access_ip LIKE 'xxx.xxx.xx.xx';
Table structure:
CREATE TABLE `rad_records` (
`server_name` varchar(50) NOT NULL default '',
`service_name` varchar(50) NOT NULL default '',
`session_name` varchar(50) NOT NULL default '',
`datetime` timestamp NOT NULL default '0000-00-00 00:00:00',
`session_status` varchar(50) NOT NULL default '',
`access_ip` varchar(50) default NULL,
`login_name` varchar(255) default NULL,
PRIMARY KEY (`server_name`,`service_type`,`session_name`,`date time`,`ses sion_status`),
KEY `sessionname_sessionstatus_accessip` (`session_name`,`session_status`,`access_ip`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Database configuration dile: /etc/my.cnf was created basing on support-files/my-huge.cnf
Current main parameters:
key_buffer_size: 402653184
table_cache: 512
Questions:
1. Is there any opportunity to improve this situation
2. Is MySQL comfortable with this size tables?
Thanks in an advance.
DB: MySQL 5.0.45
CPU: 2
RAM: 4GB
NB !!! Database was installed inside of the Solaris zone (may be this is problem).
Problem: After a NavisRadius log's parsing, the data was placed into the one table, as a result we have 23 million records.
This query is very slow about 5~10 min.:
SELECT COUNT(*) FROM table1 tb1, table2 tb2
WHERE tb1.session_name = tb2.session_name
AND tb1.session_status = 'Start'
AND tb2.session_status = 'Stop'
AND tb1.access_ip LIKE 'xxx.xxx.xx.xx';
Table structure:
CREATE TABLE `rad_records` (
`server_name` varchar(50) NOT NULL default '',
`service_name` varchar(50) NOT NULL default '',
`session_name` varchar(50) NOT NULL default '',
`datetime` timestamp NOT NULL default '0000-00-00 00:00:00',
`session_status` varchar(50) NOT NULL default '',
`access_ip` varchar(50) default NULL,
`login_name` varchar(255) default NULL,
PRIMARY KEY (`server_name`,`service_type`,`session_name`,`date time`,`ses sion_status`),
KEY `sessionname_sessionstatus_accessip` (`session_name`,`session_status`,`access_ip`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Database configuration dile: /etc/my.cnf was created basing on support-files/my-huge.cnf
Current main parameters:
key_buffer_size: 402653184
table_cache: 512
Questions:
1. Is there any opportunity to improve this situation
2. Is MySQL comfortable with this size tables?
Thanks in an advance.
Comment