|
MySQL.RU - Webboard
Вернуться
Размер запрашиваемых данных (Pavel) 05/10/2015 - 09:20:47
Re: Размер запрашиваемых данных (Akina) 05/10/2015 - 10:39:55
Re: Размер запрашиваемых данных (Pavel) 05/10/2015 - 12:35:43
Re: Размер запрашиваемых данных (Akina) 06/10/2015 - 09:19:41
Re: Размер запрашиваемых данных (Pavel) 06/10/2015 - 10:03:14
Re: Размер запрашиваемых данных (Akina) 06/10/2015 - 11:15:41
Re: Размер запрашиваемых данных (Pavel) 13/10/2015 - 10:06:13
Re: Размер запрашиваемых данных (Akina) 14/10/2015 - 09:51:11
> Original message text:
> From: Pavel - 05/10/2015 - 09:20:47
> Subject:Размер запрашиваемых данных
> -----------------
> Здравствуйте.
> Есть проблема: При получении данных происходит переполнение памяти, хотелось бы знать заранее размер запрашиваемых данных(до запроса). Подскажите как это осуществить?
>
From: Pavel - 05/10/2015 - 12:35:43
Subject:Размер запрашиваемых данных
-----------------
> При получении данных происходит переполнение памяти
Где именно?
На этапе помещения в оперативную память.
Делаю так:
1)запрашиваю DESC table, узнаю тип полей таблицы table (id, name) (например, int(11), varchar(255));
2)суммирую длины типов, получая максимальную длину запрашиваемой строки (в нашем случае 11+255=266);
3)затем узнаю информацию о запросе с помощью EXPLAIN SELECT id, name FROM table WHERE name='Вася'; Получаю количество строк в запросе(например, 10);
4)перемножаю длину одной строки на количество строк в запросе, получая примерно МАКСИМАЛЬНЫЙ размер запрошенных данных(в байтах)(266*10=2660 байт).
Проблемы возникают при обсчете типа TEXT, т.к. длина неизвестна.
А также не "упадет" ли сервер, если последовать вашему совету(временные таблици и серверный курсор)?
Прошу прощения, если что не так, новичок в работе с СУБД.
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
43394
|
|