|
|
|
Как предзагрузить индексы в MySQL 4.0 ?
|
|||
|---|---|---|---|
|
#18+
Добрый день! в форуме по PHP мне не помогли , поэтому обращаюсь сюда. Подскажите, пожалуйста, как в MySQL 4.0 выполнить действие, в более свежих версиях выполняемое командой LOAD INDEX INTO CACHE, т.е. предзагрузить индексы в память для последующего быстрого выполения запроса. К MySQL обращение происходит из PHP. К сожалению, хостером запрещены PHP-команды выполнения других программ. Заранее спасибо за любые конструктивные предложения! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2005, 20:07:21 |
|
||
|
Как предзагрузить индексы в MySQL 4.0 ?
|
|||
|---|---|---|---|
|
#18+
.-.-.-.-.-mysql_unbuffered_query а это слово просто покажи своим разработчикам - он сами поймутбыло ли это сделано? ------------------ - А как в Интеpнете pаботать? - Сначала нужно узнать, что вам нужно rtfm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2005, 20:59:13 |
|
||
|
Как предзагрузить индексы в MySQL 4.0 ?
|
|||
|---|---|---|---|
|
#18+
maXmo .-.-.-.-.-mysql_unbuffered_query а это слово просто покажи своим разработчикам - он сами поймутбыло ли это сделано? ------------------ - А как в Интеpнете pаботать? - Сначала нужно узнать, что вам нужно rtfm еще нет, т.к. выходные своим разработчкам я уже отписал, в понедельник они будут пробовать. Но, насколько я вычитал из доки, эта функция мне вряд ли поможет. Дело в том, что подгрузка индексов с диска длится 10-30 секунд, а сам запрос потом выполняется примерно за 1 секунду. Если повторить похожий запрос (с другими условиями фильтрации) он так же выполняется почти мгновенно. Но как только индексы вытесняются из кэша, любой запрос опять выполняется до 30 секунд и даже дольше. Насколько я понял, функция mysql_unbuffered_query возвращает управление в программу после получения первой строки. Но, чтобы получить первую строку, нужно все равно подгрузить индексы, что слишком долго. Или я не прав? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2005, 08:27:19 |
|
||
|
Как предзагрузить индексы в MySQL 4.0 ?
|
|||
|---|---|---|---|
|
#18+
Может быть, стоит увеличить количество памяти, отводимое под буферы, чобы этой проблемы не возникало? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2005, 11:46:59 |
|
||
|
Как предзагрузить индексы в MySQL 4.0 ?
|
|||
|---|---|---|---|
|
#18+
DocAlМожет быть, стоит увеличить количество памяти, отводимое под буферы, чобы этой проблемы не возникало? Это происходит на сервере хостера. Я пробовал изменить параметры MySQL - запрещено. Собственно, самой памяти-то хватает, просто сервер нагружен другими пользователями (т.е. другими сайтами) и мои данные быстро вымываются из кэша. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2005, 12:13:54 |
|
||
|
Как предзагрузить индексы в MySQL 4.0 ?
|
|||
|---|---|---|---|
|
#18+
Ну значит ваши требования к качеству сервиса не соответствуют тому, который может обеспечить виртуальный хостинг. Следует подумать об аренде выделенного. Потому что если у вас регулярно идут запросы к базе, которые в обычных условиях выполняются по 10-30 секунд, и вы некоторыми ухищрениями добьётесь уменьшения этого времени за счёт других пользователей хостинга, велика вероятность, что вас с этого хостинга просто попросят. Соответствующий пункт наверняка есть в договоре. В любом случае, вы уверены, что вопрос о предварительной загрузке индексов, а не о том, что запрос попадает в Query cache и именно поэтому повторное его выполнение "почти мнгновенно"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2005, 12:41:37 |
|
||
|
Как предзагрузить индексы в MySQL 4.0 ?
|
|||
|---|---|---|---|
|
#18+
DocAlНу значит ваши требования к качеству сервиса не соответствуют тому, который может обеспечить виртуальный хостинг. Следует подумать об аренде выделенного. Потому что если у вас регулярно идут запросы к базе, которые в обычных условиях выполняются по 10-30 секунд, и вы некоторыми ухищрениями добьётесь уменьшения этого времени за счёт других пользователей хостинга, велика вероятность, что вас с этого хостинга просто попросят. Соответствующий пункт наверняка есть в договоре. Я понимаю, что я делаю это за счет других пользователей, но такова особенность виртуального хостинга. Но посещаемость моего сайта весьма невелика, почти нулевая, я буду очень рад, если мне удастся достичь 1000 пользователей в день. Т.е. ущерб от меня другим пользователям будет минимален. Если бы посещаемость моего сайта была больше, вымывания моих индексов из кэша не происходило бы. Время вымывания не такое уж маленькое, от нескольких минут до пары часов. Соответствующего пункта в договоре я не нашел. Касательно MySQL там есть ограничения по времени выполнения запроса (30 секунд, поэтому некоторые мои запросы убиваются) и по количеству коннектов (64). В любом случае, вы уверены, что вопрос о предварительной загрузке индексов, а не о том, что запрос попадает в Query cache и именно поэтому повторное его выполнение "почти мнгновенно"? О загрузке индексов говорит MySQL Administrator. Пока индексы в кэше - почти мгновенно выполняются не только идентичные запросы, но и запросы с другими параметрами фильтрации и выдающие совсем другие записи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2005, 13:01:20 |
|
||
|
Как предзагрузить индексы в MySQL 4.0 ?
|
|||
|---|---|---|---|
|
#18+
а каким Вы видите решение проблемы? Вот заходит юзер на сайт, ему нужны данные. Что делать? Вдруг индексы в очередной раз вымылись? Юзеру придётся ждать 30 секунд. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2005, 21:32:36 |
|
||
|
Как предзагрузить индексы в MySQL 4.0 ?
|
|||
|---|---|---|---|
|
#18+
maXmoа каким Вы видите решение проблемы? Вот заходит юзер на сайт, ему нужны данные. Что делать? Вдруг индексы в очередной раз вымылись? Юзеру придётся ждать 30 секунд. я собираюсь их "предзагружать" на две страницы ранее в расчете на то, что пока пользователь решает, что ему выбрать, эта "предзагрузка" уже закончится или, как минимум, выполнится в значительной степени. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2005, 10:06:11 |
|
||
|
Как предзагрузить индексы в MySQL 4.0 ?
|
|||
|---|---|---|---|
|
#18+
предполагается, что он будет думать полминуты? А если больше? Скажем, ушёл покурить. Опять индексы выгрузятся. ------------------ - А как в Интеpнете pаботать? - Сначала нужно узнать, что вам нужно rtfm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2005, 10:43:08 |
|
||
|
Как предзагрузить индексы в MySQL 4.0 ?
|
|||
|---|---|---|---|
|
#18+
maXmoпредполагается, что он будет думать полминуты? А если больше? Скажем, ушёл покурить. Опять индексы выгрузятся. Предполагается, что он будет думать не меньше полминуты. Если ушел покурить надолго, например на пару часов, то сам виноват. Если не очень надолго, минут на 10-20, то индексы с очень большой вероятностью продеражатся в кэше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2005, 13:48:45 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=33429536&tid=1853312]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
172ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
| others: | 198ms |
| total: | 459ms |

| 0 / 0 |
