powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Размер запрашиваемых данных
7 сообщений из 7, страница 1 из 1
Размер запрашиваемых данных
    #39076223
Pavel_K66
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.
Проблема: Необходимо знать размер запрашиваемых данных (в байтах) (размер ответа на запрос) для того, чтобы сообщить пользователю о размере приходящих данных(или примерном времени затраченном на запрос), естественно перед выполнением реального запроса.
Пытаюсь осуществить это так:
1) Создаю временную таблицу с данными запроса на стороне сервера
CREATE TEMPORARY TABLE myTempTable SELECT column1,column2 FROM myRealTable;
2) Запрашиваю статус временной таблицы
SHOW TABLE STATUS LIKE 'myTempTable';
Но в ответ получаю лишь Empty set (пусто).
3) "Исправил" проблему тем, что собираю данный не во временную таблицу, а в реальную (Понимаю, что это неправильно!)
CREATE TABLE myRealTable_2 SELECT column1,column2 FROM myRealTable;
Далее запрашиваю статус таблицы myRealTable_2 (размер данных)
SHOW TABLE STATUS LIKE 'myRealTable_2';
Затем удаляю таблицу myRealTable_2
DROP TABLE myRealTable_2;

Подскажите, как осуществить желаемое?
...
Рейтинг: 0 / 0
Размер запрашиваемых данных
    #39076233
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pavel_K66Запрашиваю статус временной таблицы
Код: sql
1.
    SHOW TABLE STATUS LIKE 'myTempTable';


Но в ответ получаю лишь Empty set (пусто).
http://dev.mysql.com/doc/refman/5.6/en/show-table-status.html SHOW TABLE STATUS works likes SHOW TABLES, but provides a lot of information about each non-TEMPORARY table.
=================
Pavel_K66"Исправил" проблему тем, что собираю данный не во временную таблицу, а в реальную (Понимаю, что это неправильно!)
ENGINE=Memory

PS. http://www.mysql.ru/webboard/index.html?n1=12983&n2=1&page=1
...
Рейтинг: 0 / 0
Размер запрашиваемых данных
    #39076420
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pavel_K66SELECT column1,column2 FROM myRealTableЧем напрягать сервер бессмысленными (и беспощадными) выборками, сделали бы хпшку, которая читала бы information_schema и выдавала бы что-то типа (sizeof(table.columnX)+sizeof(table.columnY))*tablerowcount(table). Потому как сейчас вместо Pavel_K66перед выполнением реального запроса.выходит, что вы 2 раза выполняете тот самый "реальный запрос". От того, что вы пихаете его результат в темптаблицу, он менее реальным не становится.
...
Рейтинг: 0 / 0
Размер запрашиваемых данных
    #39076467
Pavel_K66
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tanglirхпшку
Прошу прощения, что есть хпшка?
...
Рейтинг: 0 / 0
Размер запрашиваемых данных
    #39076476
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pavel_K66,

хранимая процедура
...
Рейтинг: 0 / 0
Размер запрашиваемых данных
    #39076484
Фотография Lumix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pavel_K66Проблема: Необходимо знать размер запрашиваемых данных (в байтах) (размер ответа на запрос) для того, чтобы сообщить пользователю о размере приходящих данных(или примерном времени затраченном на запрос), естественно перед выполнением реального запроса.

Это принципиально невозможно.

Но при этом очень легко решить вот такую задачу:

Проблема: Необходимо знать размер запрашиваемых данных (в байтах) (размер ответа на запрос) для того, чтобы сообщить пользователю о размере приходящих данных(или примерном времени затраченном на запрос), естественно перед отправкой результатов запроса пользователю .

PS. Обладая огромным опытом практической разработки и зная как устроен реальный мир могу дать вам очень "плохой" совет. :-) Соврите! Кормите юзера дезой! :-)
Сообщите ему, что его запрос будет весить 10 Кб и выполнение займет 2 минуты.
Если он согласиться, то выполняйте запрос и положите болт на то сколько он весит и сколько времени он займет. Если время и объем будут больше и юзер будет этим недоволен, то просто принесите извинения.
Мы всегда пользуемся такой стратегией, когда заказчик хочет то, что принципиально невозможно сделать.
Заказчик хочет чтобы его автомобиль ехал выше скорости света?!
Он не понимает наших объяснений что это невозможно и продолжает требовать?!
Не вопрос!
Делаем спидометр и показываем ему, что он движется со скоростью 800 000 км/с.
В 99% случаев заказчик остается полностью довольным!
...
Рейтинг: 0 / 0
Размер запрашиваемых данных
    #39076492
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LumixPS. Обладая огромным опытом практической разработки и зная как устроен реальный мир могу дать вам очень "плохой" совет. :-) Соврите! Кормите юзера дезой! :-)
Сообщите ему, что его запрос будет весить 10 Кб и выполнение займет 2 минуты.
Если он согласиться, то выполняйте запрос и положите болт на то сколько он весит и сколько времени он займет. Если время и объем будут больше и юзер будет этим недоволен, то просто принесите извинения.
Я предпочитаю противоположный образ действий. Я скажу, что выполнение закончится послезавтра, а объём данных будет равен удвоенному размеру БД, но не менее 4 гигабайт. А далее всё то же, но ещё появится повод слупить с него дополнительные вкусняшки за проведённую оптимизацию.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Размер запрашиваемых данных
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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