Как да ускоря извличането от mysql

3 милиона реда. id - основен, уникален

заявка като "select > как да ускоря изпълнението на заявката поне до десети от секундата? можете ли да ни кажете накратко за индексите? Изглежда, че съм го приложил към полето id, но не виждам резултата ще помогне ли разделянето на таблицата на няколко, да речем, 10 хиляди? Благодаря предварително за отговорите

Дмитрий Скогорев: Бих започнал с 500 мегабайта и бих гледал. Като цяло има доста проста опция, или задаваме 75% от RAM (или, ако сървърът има не само mysql, а нещо друго, 75% от това, което остава), или избираме според данните. За да направите това, можете да използвате следната заявка:

Innodb, таблицата има около 7 милиона записа и 750MB, останалите таблици в базата данни са незначителни трябва ли да опитам да разделя с диапазон или да използвам mongodb?

Дмитрий Скогорев: possible_keys показва какви индекси има. колоната с ключ казва, че индексът не се използва. Показване на резултата от командата: ПОКАЗВАНЕ на клавишите CREATE TABLE\G

Както и заявки: ПОКАЖЕТЕ ПРОМЕНЛИВИ КАТО 'innodb_buffer_pool_size';

kuroneco: задайте innodb_buffer_pool_size 1073741824 на 1GB.

Създаване на таблица: 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` ) ) ENG INE=InnoDB ПО ПОДРАЗБИРАНЕ CHARSET=utf8