Привет, подскажите, пожалуйста, когда выполняется select в mysql, всегда есть

два шага: executeQuery и fetch. То есть execute возвращает указатель, а фетч уже достает сами данные. Указатель на что возвращает execute, где находятся данные перед fetch? Нагуглить чет не получается

15 ответов

17 просмотров

Термин указатель тут не подходит. Кратко - exec подготавливает первую порцию данных и выдает обет типа "курсор", который служить для дальнейшего выполнения запроса и получения данных из него

Stepan-F Автор вопроса

что значит первая порция данных? И что происходит при чтении? В мускуле создается временная таблица по которой движется курсор? Я чет не могу найти нормальной инфы на эту тему.

Первые несколько строк

Нет, курсор это не таблица. Это объект в API библиотеки доступа к запросам

Stepan-F Автор вопроса

все равно непонятно. Допустим, я вытаскиваю 1000 строк. query у нас вытащит "первые несколько строк", а где будут находится остальные в этот момент?

Stepan-F Автор вопроса

разобрался, если в терминах php то есть две функции: mysql_query и mysql_fetch_arrow. при выполнении mysql_query по умолчанию весь результат сразу же копируется в буфер драйвера. Можно вместо mysql_query использовать mysql_unbuffered_query, тогда данные не попадут в буфер и останутся на стороне мускуля со всеми сожранными ресурсами.

В базе данных.

Не _arrow а наверное _array

Stepan-F Автор вопроса

что значит в базе данных?

Stepan-F Автор вопроса

а да. ночью уже не соображаю)

НИКОГДА весь результат не копируется в буфер драйвера (если он конечно не очень маленький). Он туда просто тупо НЕ ВЛЕЗЕТ.

Запрос в открытом виде (сделано начало выполнения и не сделана вся выборка данных) на сервере конечно потребляет кое-какие ресурсы, но эти ресурсы не так уж и велики, и их размер не пропорционален объёму выборки.

Stepan-F Автор вопроса

а можно ссылку на источник? я просто читал mysql по максимуму, страница 255

База данных — это такая система организации данных на диске (дисках) для хранения и эффективной обработки данных.

На источник чего?

Похожие вопросы

Обсуждают сегодня

Ребята, всем привет. Подскажите, пожалуйста, можно ли как-то через бота понять, что этого бота добавили в группу\канал и выдали ему права администратора?
Artem Stormageddon
9
Это переведённый текст с английского. Я не говорю на русском, но могу использовать переводчик Телеграм. Приветствую! Я начинающий веб-разработчик и все еще учусь. В настояще...
𐩱𐩪𐩣𐩱𐩲𐩺𐩡
3
А не хотим ли мы развлечься? 😉 Но так чтобы с пользой для наших профессиональных навыков?? 👨‍🎓👩‍🎓 Предлагаю на октябрь запланировать тестовый запуск новой командной игры "Игр...
Andrii Kurdiumov
2
Привет всем! Почему этот код не срабатывает при добавлении или удалении пользователя из чата? bot.on('chat_member', async (ctx) => { console.log(ctx); }) bot.launch({allo...
Alexander
5
у кого сколько оперативы на базе данных ?
АДИЛЬБЕК
4
Через бот апи возможно получить ID стикерпака? Не ссылку.
Vexylon [АФК до 09.09]
5
Привет Хочу сделать аналог iCloud’а для своих проектов, чтобы пользовательская информация хранилась в облаке, была доступна во всех сервисах, её можно было подсасывать везде)...
Виталий
9
В тг можно спарсить всех кто пишет в группе? Если список участников скрыт
S
3
код Event::listen('cms.page.display', function (&$content, $slug, $page, $html) { if (is_object($content)) { dump($content); } else { dump($s...
Point 111
3
Всем привет. Не понимаю, в чём тут шутка юмора. Убирается только разрешение на send_messages. А send_media_messages остаётся. Как сделать, чтобы оба убирались? await b...
Alexander
2
Карта сайта