У меня есть база данных с ~ 15 миллионами записей.База данных MySQL - Миллион записей - Производительность
Вот его структура:
SELECT count(*) FROM hash.list; ~ 77 seconds
SELECT * FROM hash.list where plain = "aaaa"; ~~ 94 seconds
Как я могу сделать это быстрее ~ 5 секунд или что еще?
Как этот вопрос связан с PHP и md5? Я бы также рекомендовал вам опубликовать этот вопрос в http://dba.stackexchange.com/. –
Используйте индексы! С индексом на 'plain' (например,' alter table hash.list add index (plain (30)) ', phpmyadmin не делает это для вас для типа' text'), ваш второй запрос должен понадобиться всего миллисекунды. Это не улучшит 'count (*)'. 77s кажется много для 15 миллионов строк с первичным ключом int, он должен быть больше в районе 2-4 секунд и показывает производительность чтения с вашего hdd ~ 0,8 мб/с. Возможно, вы делаете много других вещей на hdd или других пользователях, например. общий хостинг. Вы можете только улучшить это, улучшив общую производительность системы (особенно быстрее hdd или больше). – Solarflare