2014-02-03 3 views
1

Мой запрос как небольшое время, когда время выборки довольно велико. То, что точно время выборки. Можно ли уменьшить его? Это зависит от сети, поскольку сервер является удаленным.MySQL слишком часто выбирает время

мой запрос является простым
SELECT * FROM Table WHERE id = a primary_Key;
Обычно запрос возвращает от 5 до 50 тыс. Строк. Но таблица имеет 9 миллионов строк. Счетчик (*) занимает 82 секунды (продолжительность) и 0 для времени приема.

+0

Сколько времени требуется, чтобы получить запрошенные данные из самой базы данных, а другая - до того, как задолго до этого будет отправлено клиенту. – Randy

+1

Если вы запрашиваете первичный ключ, вы должны получить только 1 запись (или ничего), а не строки от 5 до 50 тысяч ... – Cascader

+0

Вы правы, есть индекс в столбце. Мои ошибки. но вопрос остается тем же :-) – user3239711

ответ

0

Fetch время это зависит от скорости сети. Ваш запрос SELECT Count(*) ... возвращает только один номер, поэтому накладные расходы сети минимальны.

Чтобы улучшить скорость, я предлагаю вам только получить нужные столбцы и строки (т. Е. Заменить SELECT * ... точными столбцами, которые вам нужны).

Кроме того, включение сжатия между клиентом и сервером сократит время (но немного увеличит использование ЦП для сжатия/декомпрессии). См. Вопрос this.

+0

Означает ли это, что способ сократить время - сделать локальную базу данных на моем компьютере? – user3239711

+0

Если это опция, это, безусловно, улучшит время выборки, исключив сетевое время. – Cascader

Смежные вопросы