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

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

15 ответов

3 просмотра

Термин указатель тут не подходит. Кратко - 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

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

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

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

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

if (user?.choseType === 'oneDay') { await ctx.reply( 'Добро пожаловать в команду «Магнита»! Правда, на один день ☺️ ', ); await ctx.s...
Kokni
1
Читаю сейчас [нет, уже больше не читаю!] курсовую о Булгакове, написанную, похоже, с помощью ChatGPT. Это удивительный психоделический опыт. Текст в основном написан в стиле б...
✨ Uni [🌊 В отпуске]
1
Это фейк @cruppto_newbot?
Antskup
13
всем салют сегодня утро заметил что бот не может отправлять фотки по url. ручками в браузере ссылка норм открывает фотки. падает ошибка 'Bad Request: failed to send message ...
Vasya Ivanov
9
ребят, привет. за какое время бот полученную заявку на вступление в группу может принять \отклонить? Помню речь была про 5 минут, сейчас как?
Роман Ромашин :)
10
Доброго времени суток. Правильно ли я понимаю, что с введением новой платежной единицы stars, я просто могу оставить текущую платёжку от Юкассы, которая выполняется на сайте с...
Prokhor Chulkov
7
вопрос: кто как решает вопрос с динамической подгрузкой скриптов для отдельных страниц с включенным turbo router?
Sergei Toroptsev
25
Добрый день! Не подскажете как к модели Категории Шопоголика добавить отношение Тейлора. Пробовал по документации, но не получается. Мб уже кто-то делал?
Николай Афанасенко
6
@veranikaEU получилось? Можно увидеть рабочий код?
Alex Kom
8
Сonst magicTgHTML = (text, entities) => { let processedText = text; let offsetShift = 0; entities.forEach(entity => { const { offset, length, type, url, ...
Андрей
1
Карта сайта