powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Подсчет количества строк от точки A до точки B и все
16 сообщений из 16, страница 1 из 1
Подсчет количества строк от точки A до точки B и все
    #38787175
zhurchick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приветствую всех.
Я уже устал голову ломать, да гугл мучить.
Можно ли одним запросом подсчитать строки в таблице, а именно:
Пользователь отправляет запрос mysqli_num_rows("SELECT `id` FROM `chat_pics` WHERE `id` < 777;"); но таким образом подсчитываются все строки ID которых меньше 777, а как подсчитать еще и все строки?)
...
Рейтинг: 0 / 0
Подсчет количества строк от точки A до точки B и все
    #38787316
Фотография javajdbc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zhurchickПриветствую всех.
Я уже устал голову ломать, да гугл мучить.
Можно ли одним запросом подсчитать строки в таблице, а именно:
Пользователь отправляет запрос mysqli_num_rows("SELECT `id` FROM `chat_pics` WHERE `id` < 777;"); но таким образом подсчитываются все строки ID которых меньше 777, а как подсчитать еще и все строки?)


Код: sql
1.
2.
3.
4.
select
  count(1) count_all,
  sum(id<777) count_lt_777
from tbl
...
Рейтинг: 0 / 0
Подсчет количества строк от точки A до точки B и все
    #38787328
zhurchick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
javajdbc,

Спасибо)
А на сколько это медленнее работает по сравнение с простым подсчетом строк через mysqli_num_rows ?
...
Рейтинг: 0 / 0
Подсчет количества строк от точки A до точки B и все
    #38787342
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zhurchick,

это быстрее
...
Рейтинг: 0 / 0
Подсчет количества строк от точки A до точки B и все
    #38787360
zhurchick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tanglir,

Извините за такой поток вопросов. А можете вкратце объяснить почему?)
...
Рейтинг: 0 / 0
Подсчет количества строк от точки A до точки B и все
    #38787371
mikhalken
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Потому что в первом случае сервер отдаёт все результаты запроса, а клиент уже их считает, а во втором сервер быстренько считает их у себя и посылается только конечное число записей.
...
Рейтинг: 0 / 0
Подсчет количества строк от точки A до точки B и все
    #38787373
zhurchick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mikhalken,

я думал mysqli_num_rows на стороне сервера считает. Странно...
...
Рейтинг: 0 / 0
Подсчет количества строк от точки A до точки B и все
    #38787380
mikhalken
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я, на самом деле, php практически не знаю. Но вместо подобного запроса на сайте друга написал процедурку, которая выводит количество сразу. Прирост скорости оказался заметен, из-за чего и сделал такой вывод.
...
Рейтинг: 0 / 0
Подсчет количества строк от точки A до точки B и все
    #38787504
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zhurchickя думал mysqli_num_rows на стороне сервера считаетПрежде чем думатьгадать, почитали бы хоть про функцию - ведь даже русское описание есть: http://www.php.su/mysql_num_rows mysql_num_rows() возвращает количество рядов результата запроса А поскольку функция работает на стороне клиента (пхп), то чтобы посчитать количество записей результата, ей нужно получить этот самый результат. Все его записи.
...
Рейтинг: 0 / 0
Подсчет количества строк от точки A до точки B и все
    #38787572
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторна стороне клиента (пхп)
у клиента нет ПХП. ПХП только на Веб-сервере... В этом и прелесть Веб-приложений...
У клиента дохлый Пень3-4 с ВинХР на борту...
...
Рейтинг: 0 / 0
Подсчет количества строк от точки A до точки B и все
    #38787583
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex_Ustinov, фЪйспалм... по отношению к мусклю пхп является как раз клиентом, а про "дохлый пень" мускль не знает вообще.
...
Рейтинг: 0 / 0
Подсчет количества строк от точки A до точки B и все
    #38787679
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tanglir, вы человеку мозг закомпосируете... и себе тоже...

устаканим понятия:
ПХП - "язык" веб-сервера, работает на Веб-сервере... все функции ПХП отрабатываются на Веб-сервере.

1. Mysql не знает и о ПХП, могут находиться на разных физических серверах.
2. подключившись даже в командной строке mysql -u -p (неважно на Лин Вин) - вы уже клиент, подключение может быть совершенно с другого ПК, не обязательно с "сервера"

1, 2 вы отвергать не можете, сервер СУБД не знает ни о чем, у него другие задачи... так что предлагаю не разводить полемику...
и Этак мы далеко уйдем...
вопрос стоял совершенно по другому... что быстрее...

zhurchick,
ДЛЯ ПОЛУЧЕНИЯ ТОЛЬКО количества строк БЫСТРЕЕ count(), так как возвратит 1 число... без вытягивания данных к "КЛИЕНТУ"

ЕСЛИ вам необходимы данные в ПХП, то делайте запрос на получение данных и mysql_num_rows() уже будет знать, сколько данных ПОЛУЧЕНО на обработку Веб-серверу...
...
Рейтинг: 0 / 0
Подсчет количества строк от точки A до точки B и все
    #38787686
Фотография javajdbc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex_Ustinov, tanglir

Вы говорите об одном и томже по сути и
разногласия на ровном месте просто из-за
двойного контекста слава "клиент".

В трехзвенке ПХП есть "клиент" для мыскл и
"сервер" для веб-пользователя (для броузера). Мускл -- "сервер"
для ПХП и никто для веб-пользователя, ну и
соттвествено веб-пользовател -- "клиент"
для ПХП и никто для мускл.
...
Рейтинг: 0 / 0
Подсчет количества строк от точки A до точки B и все
    #38787811
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex_UstinovMysql не знает и о ПХПа кто мусклю запросы посылает? астральная фея?
javajdbcВы говорите об одном и томже по сути и
разногласия на ровном месте просто из-за
двойного контекста слава "клиент".Ну да. Хотя вроде бы ясно написал:
tanglir по отношению к мусклю пхп является как раз клиентомЧто там могло быть непонятного?..
...
Рейтинг: 0 / 0
Подсчет количества строк от точки A до точки B и все
    #38787977
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javajdbc,

:-)
есть у меня трехзвенки двухзвенки, все это понятно (МНЕ).

автора кто мусклю запросы посылает? астральная фея?клиентская "библиотека"...
С точки зрения клиента PHP как клиент и MySQL-клиент совершенно равнозначны. Суть вопроса - практически одна клиентская "библиотека"...
Для СЕРВЕРА MySQL - PHP суть "абстактная фея" в вашей терминологии...
у сервера mysql есть "двери" через которые он пускает "вопросы" и отдает "ответы"
что находится за "дверью" сервер не знает... он либо принимает "вопрос" и отдает "ответ", либо говорит - "извини, дверь, не понимаю твой вопрос..."
дверь - это клиентская "библиотека"

утяготим сырбор...

лучше не открыватьТогда смею утверждать, что в условиях чистого клиента (как mysql-клиента, так и PHP-как клиента) на удаленной "машине"...
mysql_row_num() отработает быстрее, при условии того что отрабатывается только по завершению запроса (так как данные уже получены, время будет затрачено только на "визуализацию" циферки)
чем запрос с count() (включим накладные расходы на коннект транспорт и т.д.)
НО (и опять нюанс...)
и все-таки, если речь идет о PHP в смысле вывода данных порционно, то использовать необходимо count() для честной цифры строк в ТАБЛИЦЕ а не в запросе,
...
Рейтинг: 0 / 0
Подсчет количества строк от точки A до точки B и все
    #38788064
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Mysql не знает и о ПХП
>>а кто мусклю запросы посылает? астральная фея?
>клиентская "библиотека"
то есть пхп...
Alex_Ustinovу сервера mysql есть "двери" через которые он пускает "вопросы" и отдает "ответы"
что находится за "дверью" сервер не знает... он либо принимает "вопрос" и отдает "ответ", либо говорит - "извини, дверь, не понимаю твой вопрос..."
дверь - это клиентская "библиотека"Вот именно, но тогда мне совершенно непонятно, с чего вы взяли, что
Alex_UstinovТогда смею утверждать, что в условиях чистого клиента (как mysql-клиента, так и PHP-как клиента) на удаленной "машине"...
mysql_row_num() отработает быстрее, при условии того что отрабатывается только по завершению запроса ( так как данные уже получены , время будет затрачено только на "визуализацию" циферки)
чем запрос с count() (включим накладные расходы на коннект транспорт и т.д.)
Если запрос всех данных уже прошёл - тогда конечно будет быстрее, но ТС-то спрашивалzhurchickМожно ли одним запросом подсчитать строки в таблице, какой подход будет лучше, если ему надо только узнать количество записей: тянуть все данные с сервера + считать количество строк на клиенте или сразу посчитать это на сервере и передать одну цифру. По-моему, ответ очевиден.
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Подсчет количества строк от точки A до точки B и все
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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