Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




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, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
43394



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |