|
1 / 1 / 0
Регистрация: 21.05.2012
Сообщений: 20
|
|||||||||||
Как правильно определить число строк в таблице, удовлетворяющих условию05.02.2013, 20:25. Показов 2324. Ответов 13
Метки нет (Все метки)
Из двух способов хочется выбрать оптимальный по затратам времени и памяти:
1.
Во втором - не понятно превращение результата в массив: а что будет находиться в $row[1] и т.д.?
1
|
|||||||||||
| 05.02.2013, 20:25 | |
|
Ответы с готовыми решениями:
13
Удаление из текстового документа строк, не удовлетворяющих условию |
|
603 / 578 / 103
Регистрация: 16.07.2012
Сообщений: 1,762
|
|||||||
| 05.02.2013, 20:34 | |||||||
|
что бы было меньше затрат памяти и времени не нужно выбирать все поля звездочкой, а выбирать поле с первичным ключом, и вообще звездочку лучше не использовать а перечислять все поля которые выбираете.
Добавлено через 1 минуту а по вариантам , даже не знаю, но я склоняюсь к первому, в данном случае
0
|
|||||||
|
1 / 1 / 0
Регистрация: 21.05.2012
Сообщений: 20
|
|
| 05.02.2013, 20:57 [ТС] | |
|
alpex, спасибо за оперативность.
Про звездочку понял: чем меньше запрашиваешь данных, тем меньше затраты времени и памяти. Насчет mysql_fetch_num ничего не нашел. Склоняюсь все-таки ко второму варианту, поскольку первый возвращает ненужную в данном случае для меня информацию, но пока не врубаюсь в логику ответа на запрос SELECT COUNT(*) FROM... Откуда берется массив, если я запрашиваю одно число?
0
|
|
|
603 / 578 / 103
Регистрация: 16.07.2012
Сообщений: 1,762
|
|
| 05.02.2013, 21:07 | |
|
перепутал mysql_fetch_row
0
|
|
|
1 / 1 / 0
Регистрация: 21.05.2012
Сообщений: 20
|
|
| 05.02.2013, 21:22 [ТС] | |
|
mysql_fetch_row: "Возвращает массив строк с числовыми индексами, содержащий данные обработанного ряда, или FALSE, если рядов не осталось." - это не то, что нужно. Мне нужно одно число: количество строк (рядов) таблицы, удовлетворяющих некоторому условию.
0
|
|
|
15 / 15 / 3
Регистрация: 20.01.2013
Сообщений: 34
|
|
| 05.02.2013, 21:24 | |
|
Второй вариант естественно будет работать быстрее поскольку COUNT * используется SQL и его выполнение уже максимально будет оптимизировано, в итоге для построения $res будет использоваться только одно значение, что займет куда меньше времени.
В первом же варианте все кортежи будут занесены в $res, что означает куда более накладное использование времени и памяти. mysql_fetch_array - это только один из методов интерпретации полученого результата, так же можете воспользоваться mysql_fetch_assoc или же mysql_fetch_row.
1
|
|
|
1 / 1 / 0
Регистрация: 21.05.2012
Сообщений: 20
|
||
| 05.02.2013, 21:51 [ТС] | ||
|
0
|
||
|
15 / 15 / 3
Регистрация: 20.01.2013
Сообщений: 34
|
|||||||
| 05.02.2013, 22:04 | |||||||
1
|
|||||||
|
1 / 1 / 0
Регистрация: 21.05.2012
Сообщений: 20
|
||||||
| 06.02.2013, 14:17 [ТС] | ||||||
|
Спасибо, я все понял.
Есть еще один вопрос в продолжение темы. На самом деле, в данном конкретном случае мне нужно получить даже не количество рядов, удовлетворяющих условию, а только факт наличия или отсутствия хотя бы одного такого ряда. Подозреваю, что должен быть способ получить такое булево значение, и выполняться этот запрос должен в среднем быстрее, т.к. в большинстве случаев не будет перелопачивать всю таблицу. Подскажите, пожалуйста, как должен выглядеть такой запрос. Добавлено через 5 часов 59 минут Кажется, вот такой вариант подойдет:
0
|
||||||
|
15 / 15 / 3
Регистрация: 20.01.2013
Сообщений: 34
|
||||||||||||
| 06.02.2013, 15:57 | ||||||||||||
|
На всякий пожарный случай, напишем аналогичный запрос но без использования LIMIT.
0
|
||||||||||||
|
603 / 578 / 103
Регистрация: 16.07.2012
Сообщений: 1,762
|
|
| 06.02.2013, 16:10 | |
|
0
|
|
|
1 / 1 / 0
Регистрация: 21.05.2012
Сообщений: 20
|
|
| 06.02.2013, 16:26 [ТС] | |
|
А что означает SELECT 1 и какой результат возвращают эти запросы?
0
|
|
|
15 / 15 / 3
Регистрация: 20.01.2013
Сообщений: 34
|
|||
| 06.02.2013, 16:47 | |||
|
Дальше можете воспользоваться аналогичной проверкой.
1
|
|||
|
1 / 1 / 0
Регистрация: 21.05.2012
Сообщений: 20
|
|
| 06.02.2013, 17:01 [ТС] | |
|
Понял, спасибо.
0
|
|
| 06.02.2013, 17:01 | |
|
Помогаю со студенческими работами здесь
14
Подсчитать количество строк матрицы, удовлетворяющих условию
Вывести число последовательностей удовлетворяющих условию В заданной матрице найти суммы элементов строк, удовлетворяющих условию Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|