Задавайте вопросы, мы ответим
Вы не зашли.
Mysql NDB кластер тормозит на select -
Есть проблема с базой данных (Mysql NDB кластер):
таблица _user c 300K записей, есть поле fieldname с индексом на нем.
запрос select * from _user where fieldname=14405168
занимает порядка 10-30 секунд. Нужен специалист чтобы срочно это починить. ICQ 82812304
Неактивен
Выложите EXPLAIN EXTENDED запроса (или отправьте на sakila@sqlinfo.ru).
И что выдает SHOW VARIABLES LIKE 'engine_condition_pushdown'?
Неактивен
+----+-------------+-------------+------+---------------+------+---------+------+--------+-------------+
-> | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
-> +----+-------------+-------------+------+---------------+------+---------+------+--------+-------------+
-> | 1 | SIMPLE | phpfox_user | ALL | NULL | NULL | NULL | NULL | 350852 | Using where |
-> +----+-------------+-------------+------+---------------+------+---------+------+--------+-------------+
engine_condition_pushdown - ON
Неактивен
Поле похоже не ключ. Приведите SHOW CREATE TABLE phpfox_user;
Неактивен
| phpfox_user | CREATE TABLE `phpfox_user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`type` tinyint(4) NOT NULL DEFAULT '3',
`user` varchar(25) NOT NULL DEFAULT '',
`password` varchar(35) NOT NULL DEFAULT '',
`email` varchar(50) NOT NULL DEFAULT '',
`gender` mediumint(9) NOT NULL,
`age` char(2) NOT NULL DEFAULT '',
`day` char(2) NOT NULL DEFAULT '',
`month` char(2) NOT NULL DEFAULT '',
`year` varchar(4) NOT NULL DEFAULT '',
`location` mediumint(9) NOT NULL,
`signup` int(11) NOT NULL DEFAULT '0',
`signup_ip` varchar(20) NOT NULL DEFAULT '',
`login` int(11) NOT NULL DEFAULT '0',
`login_ip` varchar(20) NOT NULL DEFAULT '',
`rec` varchar(20) NOT NULL DEFAULT '',
`update` varchar(20) NOT NULL DEFAULT '',
`headline` text NOT NULL,
`views` int(11) NOT NULL DEFAULT '0',
`css` int(11) NOT NULL,
`rateon` char(1) NOT NULL DEFAULT '',
`verify` tinyint(1) unsigned NOT NULL,
`verifycode` varchar(20) NOT NULL DEFAULT '',
`videon` char(1) NOT NULL DEFAULT '',
`p_update` varchar(10) NOT NULL DEFAULT '0',
`music_video` varchar(8) NOT NULL DEFAULT '',
`not_1` char(1) NOT NULL DEFAULT '',
`not_2` char(1) NOT NULL DEFAULT '',
`not_3` char(1) NOT NULL DEFAULT '',
`not_4` char(1) NOT NULL DEFAULT '',
`not_5` char(1) NOT NULL DEFAULT '',
`feature` tinyint(1) NOT NULL,
`state` varchar(20) NOT NULL DEFAULT '',
`zip` varchar(20) NOT NULL DEFAULT '0',
`city` varchar(30) NOT NULL DEFAULT '',
`user_online` tinyint(4) NOT NULL DEFAULT '0',
`user_rating` decimal(4,2) NOT NULL DEFAULT '0.00',
`friends_only` tinyint(4) NOT NULL DEFAULT '0',
`friends_comment` tinyint(4) NOT NULL DEFAULT '0',
`setting_gb_html` tinyint(4) NOT NULL DEFAULT '0',
`remember_me` char(1) NOT NULL DEFAULT '',
`new_pass` varchar(25) NOT NULL DEFAULT '',
`is_banned` tinyint(1) unsigned NOT NULL DEFAULT '0',
`last_payment` datetime DEFAULT '0000-00-00 00:00:00',
`total_points` int(11) NOT NULL DEFAULT '0',
`actual_song_id` int(10) unsigned NOT NULL DEFAULT '0',
`lang_file` tinyint(1) NOT NULL,
`c_friends` int(11) NOT NULL,
`c_comments` int(11) NOT NULL,
`im_status` tinyint(3) unsigned NOT NULL,
`plugin_style` int(10) unsigned NOT NULL,
`msg_event` tinyint(1) unsigned NOT NULL,
`total_friends` tinyint(2) unsigned NOT NULL,
`dignews_votesgiven` int(11) NOT NULL DEFAULT '0',
`dignews_votesreceived` int(11) NOT NULL DEFAULT '0',
`dignews_posted` int(11) NOT NULL DEFAULT '0',
`lwf_rows` tinyint(2) NOT NULL DEFAULT '5',
`lwf_display` tinyint(1) NOT NULL DEFAULT '1',
`lwf_permission` tinyint(1) NOT NULL DEFAULT '2',
`lwf_left_or_right` char(5) NOT NULL DEFAULT 'left',
`lwf_signature` text NOT NULL,
`lwf_total_topics` int(11) NOT NULL DEFAULT '0',
`lwf_visitor_topics` int(11) NOT NULL DEFAULT '0',
`feature_time` int(100) NOT NULL DEFAULT '0',
`feature_end` int(100) NOT NULL DEFAULT '0',
`reactive` text,
`arcade_champs` int(12) NOT NULL,
`arcade_fav` int(12) NOT NULL,
`dblon` text NOT NULL,
`dblat` text NOT NULL,
`mini` text NOT NULL,
`fpreferrals` int(11) NOT NULL,
`mood` text,
`status` text,
`sm_time` int(12) NOT NULL,
`cj_phantom` tinyint(1) DEFAULT '0',
`cj_friend` varchar(15) DEFAULT NULL,
`picture` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `user` (`user`),
KEY `login` (`login`),
KEY `verify` (`verify`,`feature`),
KEY `email` (`email`),
KEY `gender` (`gender`,`user_rating`),
KEY `css` (`css`),
KEY `cj_friend` (`cj_friend`)
) ENGINE=ndbcluster DEFAULT CHARSET=latin1
и запрос
select * from phpfox_user where cj_friend=18552980;
Неактивен
Все ясно. У Вас строковое поле, а запрос на число. Поэтому происходит неявное преобразование, что есть функция, которая и отменяет работу ключа. Неявно как бы int(cj_friend) = 18552980
Попробуйте:
Неактивен
Спасибо огромное. Починилось
Неактивен