powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Умное кеширование запросов
17 сообщений из 17, страница 1 из 1
Умное кеширование запросов
    #38848116
webslon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть база на 2 млн. записей. К этой базе есть 2 тысячи запросов в файле. Я выполняю последовательно все запросы из файла к базе. Затем выполняю ещё раз и смотрю на производительность, она меня и интересует (учебная задача). Т.е. логично все закешировать и будет всё быстро работать при втором выполнении всех запросов из файла. Проблема в том, что попадаются запроссы на изменение данных. Они и портят весь сахар. Видимо удаляют весь кеш. (использую INNODB). Таких запросов около 7%.

Значит нужно писать своё какое-то умное решение, чтобы не изобретать велосипед, решил спросить тут. Может посоветуете какие-то релизации под мою задачу. Спасибо.
...
Рейтинг: 0 / 0
Умное кеширование запросов
    #38848117
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторТ.е. логично все закешировать
А почему ? это вам лично Олег Бунин сказал ?

В других субд вообще нет кеша запросов. И как-то нормально у них все.
Причем, некоторые считают что еще более нормально чем у mysql.

Вопрос неоднозначный.
...
Рейтинг: 0 / 0
Умное кеширование запросов
    #38848121
webslon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
netwind, потому что апдейтов намного меньше чем селектов. Потому что идет 100% повторение всех запросов. Возможно в других субд приходится использовать различные memcache-дополнения на веб-проектах.
...
Рейтинг: 0 / 0
Умное кеширование запросов
    #38848123
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
webslon, но тогда ваш выдуманный кеш перестанет выдавать достоверные данные. Вы же изменили таблицу. Не вижу проблемы тут.

авторВозможно в других субд приходится использовать различные memcache-дополнения на веб-проектах.
А когда как. По крайней мере никто не кеширует до того как это им понадобится.
Вот что нужно усвоить в учебных целях.
...
Рейтинг: 0 / 0
Умное кеширование запросов
    #38848126
webslon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
netwind, вы пытаетесь отговорить меня использовать кеш? А если это единственный способ повысить производительность? Насчет достоверных данных, поэтому я и назвал тему "умный кеш". Mysql сбрасывает весь кеш при апдейте. Но ведь можно сбрасывать кеш только у тех запросов, у которых в выборке находилось изменяемая запись. Да, сложно, но можно.
...
Рейтинг: 0 / 0
Умное кеширование запросов
    #38848131
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
webslonnя и назвал тему "умный кеш". Mysql сбрасывает весь кеш при апдейте. Но ведь можно сбрасывать кеш только у тех запросов, у которых в выборке находилось изменяемая запись. Да, сложно, но можно.
не весь, а все запросы в кеше, которые построены на основе изменяемых таблиц.
так что он довольно умный.
...
Рейтинг: 0 / 0
Умное кеширование запросов
    #38848137
webslon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
netwind, у меня две таблицы содержат 99% записей, в них и происходят апдейты в основном. Так что кеширование на уровне таблиц мне не подходит.
...
Рейтинг: 0 / 0
Умное кеширование запросов
    #38848143
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
webslonНо ведь можно сбрасывать кеш только у тех запросов, у которых в выборке находилось изменяемая запись. Да, сложно, но можно.Ввиду громадного многообразия запросов на выборку это гораздо сложнее, чем кажется на первый взгляд. Потому, видимо, и было принято достаточно простое и понятное решение на уровне СУБД.


webslonиспользовать различные memcache-дополненияАга, там можно явно управлять каждым сохраняемым значением. Например, когда точно известно, что при таком-то обновлении некоторое значение должно измениться, то именно его и удалять/обновлять в мемкеше. Однако, мемкеш не панацея, а, скорее, палка о двух концах. В мемкеше можно очень просто и выгодно хранить большой массив, полученный из ресурсожручего запроса. Но изменить (добавить, удалить) один элемент этого массива уже гораздо сложнее, настолько, что в итоге придётся вместо одного харнилища данных (СУБД) достаточно полноценно работать ещё и со вторым (мемкеш). Соответственно, и трудоёмкость разработки/отладки сильно возрастает. А в общем, попробуйте на реальной задаче и убедитесь. Возможно, для конкретной Вашей задачи решение будет достаточно простым. :-)


webslonсмотрю на производительностьНередко производительность можно улучшить правильным использованием индексов, типов данных, структуры таблиц...
...
Рейтинг: 0 / 0
Умное кеширование запросов
    #38848231
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
webslonЕсть база на 2 млн. записей. К этой базе есть 2 тысячи запросов в файле. Я выполняю последовательно все запросы из файла к базе. Затем выполняю ещё раз и смотрю на производительность, она меня и интересует (учебная задача). Т.е. логично все закешировать и будет всё быстро работать при втором выполнении всех запросов из файла. Проблема в том, что попадаются запроссы на изменение данных. Они и портят весь сахар. Видимо удаляют весь кеш. (использую INNODB). Таких запросов около 7%.
.

нет, запросы на изменение данных не удаляют кэш (кэш данных, а кэш запросов это полная хрень).
...
Рейтинг: 0 / 0
Умное кеширование запросов
    #38848235
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivнет, запросы на изменение данных не удаляют кэш (кэш данных, а кэш запросов это полная хрень).
А вот, кстати, и те самые господа вынужденные возиться с mysql после того как их погнали с ынтерпрайзных баз за растрату cоциалистической собственности на капиталистические лицензии по разным причинам.
Инерция мышления не позволяет им допустить случаи, что кеш запросов все-таки может быть выгодным, но это характерное мнение принять во внимание тоже стоит.
...
Рейтинг: 0 / 0
Умное кеширование запросов
    #38848276
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
webslonПроблема в том, что попадаются запроссы на изменение данных. Они и портят весь сахар. Видимо удаляют весь кеш. (использую INNODB). Таких запросов около 7%.Это довольно много. В среднем, на каждое изменение данных приходится всего 13 чтений. Много ли будет абсолютно одинаковых запросов среди этих 13 ?

В любом случае, ничего не мешает включить кэш запросов и посмотреть на производительность. Только с размером будьте аккуратнее, начинайте с небольших значений, например, с 16 Мбайт. Если будет видна его эффективность в устоявшемся режиме на более-менее длительных временных интервалах, то увеличьте в пару раз. И так продолжайте итеративно до прекращения увеличения эффективности. Как показывает практика, выше примерно 256-512 Мбайт увеличивать бессмысленно, ибо резко растут расходы на обслуживание кэша.
...
Рейтинг: 0 / 0
Умное кеширование запросов
    #38848288
webslon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft, я юзаю кеш, но его увеличение даже в 10 раз мало чего мне дало, т.к. он не успевает переполняться, видимо, к моменту очистки.
...
Рейтинг: 0 / 0
Умное кеширование запросов
    #38848293
bochkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а если сделать еще одну таблицу типа memory,-копию
апдейты делать к обеим таблицам, селекты из мемори
...
Рейтинг: 0 / 0
Умное кеширование запросов
    #38848294
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
webslonmiksoft, я юзаю кеш, но его увеличение даже в 10 раз мало чего мне дало, т.к. он не успевает переполняться, видимо, к моменту очистки.значит, его не нужно настолько увеличивать.
посмотрите на семейство переменных Qcache_%
...
Рейтинг: 0 / 0
Умное кеширование запросов
    #38848600
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netwindMasterZivнет, запросы на изменение данных не удаляют кэш (кэш данных, а кэш запросов это полная хрень).
А вот, кстати, и те самые господа вынужденные возиться с mysql после того как их погнали с ынтерпрайзных баз за растрату cоциалистической собственности на капиталистические лицензии по разным причинам.
Инерция мышления не позволяет им допустить случаи, что кеш запросов все-таки может быть выгодным, но это характерное мнение принять во внимание тоже стоит.

в Оракле кстати его тоже запилили.
...
Рейтинг: 0 / 0
Умное кеширование запросов
    #38848674
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netwindMasterZivнет, запросы на изменение данных не удаляют кэш (кэш данных, а кэш запросов это полная хрень).
А вот, кстати, и те самые господа вынужденные возиться с mysql после того как их погнали с ынтерпрайзных баз за растрату cоциалистической собственности на капиталистические лицензии по разным причинам.
Инерция мышления не позволяет им допустить случаи, что кеш запросов все-таки может быть выгодным, но это характерное мнение принять во внимание тоже стоит.

Кэш запросов в БД -- лишь неразумная растрата памяти.
В БД надо кэшироровать данные.
результаты запросов, если нужно, надо кэшировать в другом месте.
...
Рейтинг: 0 / 0
Умное кеширование запросов
    #38849590
NikolayV81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivnetwindпропущено...

А вот, кстати, и те самые господа вынужденные возиться с mysql после того как их погнали с ынтерпрайзных баз за растрату cоциалистической собственности на капиталистические лицензии по разным причинам.
Инерция мышления не позволяет им допустить случаи, что кеш запросов все-таки может быть выгодным, но это характерное мнение принять во внимание тоже стоит.

Кэш запросов в БД -- лишь неразумная растрата памяти.
В БД надо кэшироровать данные.
результаты запросов, если нужно, надо кэшировать в другом месте.

Ну вот поэтому в одной БД в основном Данные кэшируют и очень умно ;) а в другой, свежекупленной но бесплатной, эксперименты ставят ;).

Задачи у бд сильно разные, в MySQL часто идут сотни одинаковых запросов подряд, при этом записи вообще нет, при этом часто вообще нет серьёзных требований к целостности данных ( откуда ноги у разных быстрых myisam-ов ), что и приводит к возникновению компонентов вроде этого https://php.net/manual/ru/book.mysqlnd-qc.php
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Умное кеширование запросов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]