Як прискорити вибірку з mysql
3 млн. рядків. id - primary, unique
запит виду "select > як прискорити виконання запиту хоча б до десятих часток секунди? можете коротко розповісти про индесы? начебто застосував до поля id, але результату не бачу чи допоможе розбиття таблиці на кілька, скажімо по 10 тисяч заздалегідь дякую за відповіді
Дмитро Скогорєв: я б почав із 500 мегабайт і дивився. А взагалі є досить простий варіант, або виставляємо 75% від RAM (або, якщо на сервері не тільки mysql а ще щось, 75% від того, що залишається) або підібрати за даними. Для цього можна скористатися таким запитом:
Inodb, в таблиці близько 7 млн записів і 750Мб, решта таблиць в базі мізерно малі чи варто спробувати зробити поділ з range або використовувати mongodb?
Дмитро Скогорєв: possible_keys показує, які є індекси. колонка key говорить, що індекс не використовується. Покажіть висновок команди: SHOW CREATE TABLE keys\G
А також запитів: SHOW VARIABLES LIKE 'innodb_buffer_pool_size';
kuroneco: innodb_buffer_pool_size 1073741824 виставив на 1гб.
Create Table: CREATE TABLE `keys` ( `userid` varchar(12) NOT NULL, `value` varchar(12) NOT NULL, PRIMARY KEY (`userid`), UNIQUE KEY `userid` (`userid`), KEY `userid_2` (`userid`), KEY `userid_3` (`userid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8