MySql проблемы с кешем ... некоторые вопросы - PullRequest
0 голосов
/ 09 февраля 2010

Прежде всего, я использую PhpMyAdmin, это нормально или нет? Потому что, когда у меня есть кэш disabled, и я делаю два запроса после каждого другого, второй запрос всегда выполняется быстрее, поэтому я думаю, может быть, есть внутренний кэш на PhpMyAdmin?

Во-вторых, есть ли способ узнать, сколько времени занимает запрос, в php и отобразить его в браузере? (чтобы я мог использовать php вместо phpMyAdmin)

В-третьих, SHOW STATUS LIKE '%qcache%' дает мне это:

Qcache_free_blocks       1
Qcache_free_memory       25154096
Qcache_hits              0
Qcache_inserts       2
Qcache_lowmem_prunes     0
Qcache_not_cached        62
Qcache_queries_in_cache  2
Qcache_total_blocks      6

Почему Qcache_not_cached увеличивается на число 5 или 10 для каждого запроса, который я делаю? Не должно ли быть только 1 увеличение за запрос?

Кроме того, когда я включил кэш и выполнил запрос, Qcache_queries_in_cache увеличился на 2 ... Я думал, что он будет увеличен на 1 за каждый запрос, объясните кому-нибудь?

ТОГДА, когда я сделал другой запрос, такой же, как тот, который я кешировал, прирост производительности вообще не был, запрос занимал столько времени, сколько кеша не было включено ...

Любая помощь здесь, пожалуйста, за исключением ссылки на руководство (я уже читал).

Спасибо

ОБНОВЛЕНИЕ

Вот типичный запрос, который я делаю:

   SELECT * FROM `langlinks` WHERE ll_title='Africa'

Ответы [ 2 ]

1 голос
/ 09 февраля 2010

Прежде всего, я использую PhpMyAdmin, это нормально или нет?

Полагаю, это лучше, чем ничего - и более удобно для пользователя, чем клиент командной строки; но в phpMyAdmin мне не нравится то, что он отправляет запросы, которые вы не написали.

Я уже видел, как phpMyAdmin отправлял некоторые запросы, которые «причиняли вред» серверу, в то время как тот, который был написан пользователем, был в порядке, например (точный пример не имею в виду) .

В общем, я бы сказал, что все в порядке, если вы принимаете, что больше запросов будет отправлено: phpMyAdmin отображает много информации (например, список баз данных, таблиц и т. Д.) , и должен получить эту информацию от кого-то!

Не должно быть только 1 увеличение на запрос

Если вы действительно хотите увидеть влияние вашего запроса и ничего другого, вам лучше использовать клиент mysql командной строки вместо phpMyAdmin: этот графический инструмент должен отправлять запросы для получения отображаемой информации .

Вопрос, на самом деле, таков: вы предпочитаете удобный для пользователя инструмент? Или вы хотите отслеживать только то, что фактически делает ваш запрос?

В большинстве случаев ответом является «удобный инструмент» - и именно поэтому phpMyAdmin имеет такой большой успех; -)

0 голосов
/ 09 февраля 2010

PhpMyAdmin запрашивает и обновляет состояние с сервера mysql, поэтому вы не увидите его увеличение на единицу в phpmyadmin

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...