|
|
|
Подсчет количества строк от точки A до точки B и все
|
|||
|---|---|---|---|
|
#18+
Приветствую всех. Я уже устал голову ломать, да гугл мучить. Можно ли одним запросом подсчитать строки в таблице, а именно: Пользователь отправляет запрос mysqli_num_rows("SELECT `id` FROM `chat_pics` WHERE `id` < 777;"); но таким образом подсчитываются все строки ID которых меньше 777, а как подсчитать еще и все строки?) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2014, 10:51:42 |
|
||
|
Подсчет количества строк от точки A до точки B и все
|
|||
|---|---|---|---|
|
#18+
zhurchickПриветствую всех. Я уже устал голову ломать, да гугл мучить. Можно ли одним запросом подсчитать строки в таблице, а именно: Пользователь отправляет запрос mysqli_num_rows("SELECT `id` FROM `chat_pics` WHERE `id` < 777;"); но таким образом подсчитываются все строки ID которых меньше 777, а как подсчитать еще и все строки?) Код: sql 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2014, 20:10:16 |
|
||
|
Подсчет количества строк от точки A до точки B и все
|
|||
|---|---|---|---|
|
#18+
javajdbc, Спасибо) А на сколько это медленнее работает по сравнение с простым подсчетом строк через mysqli_num_rows ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2014, 21:01:10 |
|
||
|
Подсчет количества строк от точки A до точки B и все
|
|||
|---|---|---|---|
|
#18+
zhurchick, это быстрее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2014, 21:18:39 |
|
||
|
Подсчет количества строк от точки A до точки B и все
|
|||
|---|---|---|---|
|
#18+
tanglir, Извините за такой поток вопросов. А можете вкратце объяснить почему?) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2014, 22:20:00 |
|
||
|
Подсчет количества строк от точки A до точки B и все
|
|||
|---|---|---|---|
|
#18+
Потому что в первом случае сервер отдаёт все результаты запроса, а клиент уже их считает, а во втором сервер быстренько считает их у себя и посылается только конечное число записей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2014, 22:30:53 |
|
||
|
Подсчет количества строк от точки A до точки B и все
|
|||
|---|---|---|---|
|
#18+
mikhalken, я думал mysqli_num_rows на стороне сервера считает. Странно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2014, 22:40:07 |
|
||
|
Подсчет количества строк от точки A до точки B и все
|
|||
|---|---|---|---|
|
#18+
Я, на самом деле, php практически не знаю. Но вместо подобного запроса на сайте друга написал процедурку, которая выводит количество сразу. Прирост скорости оказался заметен, из-за чего и сделал такой вывод. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2014, 22:52:34 |
|
||
|
Подсчет количества строк от точки A до точки B и все
|
|||
|---|---|---|---|
|
#18+
zhurchickя думал mysqli_num_rows на стороне сервера считаетПрежде чем думатьгадать, почитали бы хоть про функцию - ведь даже русское описание есть: http://www.php.su/mysql_num_rows mysql_num_rows() возвращает количество рядов результата запроса А поскольку функция работает на стороне клиента (пхп), то чтобы посчитать количество записей результата, ей нужно получить этот самый результат. Все его записи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2014, 11:46:19 |
|
||
|
Подсчет количества строк от точки A до точки B и все
|
|||
|---|---|---|---|
|
#18+
авторна стороне клиента (пхп) у клиента нет ПХП. ПХП только на Веб-сервере... В этом и прелесть Веб-приложений... У клиента дохлый Пень3-4 с ВинХР на борту... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2014, 14:31:19 |
|
||
|
Подсчет количества строк от точки A до точки B и все
|
|||
|---|---|---|---|
|
#18+
Alex_Ustinov, фЪйспалм... по отношению к мусклю пхп является как раз клиентом, а про "дохлый пень" мускль не знает вообще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2014, 14:49:04 |
|
||
|
Подсчет количества строк от точки A до точки B и все
|
|||
|---|---|---|---|
|
#18+
tanglir, вы человеку мозг закомпосируете... и себе тоже... устаканим понятия: ПХП - "язык" веб-сервера, работает на Веб-сервере... все функции ПХП отрабатываются на Веб-сервере. 1. Mysql не знает и о ПХП, могут находиться на разных физических серверах. 2. подключившись даже в командной строке mysql -u -p (неважно на Лин Вин) - вы уже клиент, подключение может быть совершенно с другого ПК, не обязательно с "сервера" 1, 2 вы отвергать не можете, сервер СУБД не знает ни о чем, у него другие задачи... так что предлагаю не разводить полемику... и Этак мы далеко уйдем... вопрос стоял совершенно по другому... что быстрее... zhurchick, ДЛЯ ПОЛУЧЕНИЯ ТОЛЬКО количества строк БЫСТРЕЕ count(), так как возвратит 1 число... без вытягивания данных к "КЛИЕНТУ" ЕСЛИ вам необходимы данные в ПХП, то делайте запрос на получение данных и mysql_num_rows() уже будет знать, сколько данных ПОЛУЧЕНО на обработку Веб-серверу... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2014, 19:00:15 |
|
||
|
Подсчет количества строк от точки A до точки B и все
|
|||
|---|---|---|---|
|
#18+
Alex_Ustinov, tanglir Вы говорите об одном и томже по сути и разногласия на ровном месте просто из-за двойного контекста слава "клиент". В трехзвенке ПХП есть "клиент" для мыскл и "сервер" для веб-пользователя (для броузера). Мускл -- "сервер" для ПХП и никто для веб-пользователя, ну и соттвествено веб-пользовател -- "клиент" для ПХП и никто для мускл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2014, 19:23:18 |
|
||
|
Подсчет количества строк от точки A до точки B и все
|
|||
|---|---|---|---|
|
#18+
Alex_UstinovMysql не знает и о ПХПа кто мусклю запросы посылает? астральная фея? javajdbcВы говорите об одном и томже по сути и разногласия на ровном месте просто из-за двойного контекста слава "клиент".Ну да. Хотя вроде бы ясно написал: tanglir по отношению к мусклю пхп является как раз клиентомЧто там могло быть непонятного?.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2014, 07:10:53 |
|
||
|
Подсчет количества строк от точки A до точки B и все
|
|||
|---|---|---|---|
|
#18+
javajdbc, :-) есть у меня трехзвенки двухзвенки, все это понятно (МНЕ). автора кто мусклю запросы посылает? астральная фея?клиентская "библиотека"... С точки зрения клиента PHP как клиент и MySQL-клиент совершенно равнозначны. Суть вопроса - практически одна клиентская "библиотека"... Для СЕРВЕРА MySQL - PHP суть "абстактная фея" в вашей терминологии... у сервера mysql есть "двери" через которые он пускает "вопросы" и отдает "ответы" что находится за "дверью" сервер не знает... он либо принимает "вопрос" и отдает "ответ", либо говорит - "извини, дверь, не понимаю твой вопрос..." дверь - это клиентская "библиотека" утяготим сырбор... лучше не открыватьТогда смею утверждать, что в условиях чистого клиента (как mysql-клиента, так и PHP-как клиента) на удаленной "машине"... mysql_row_num() отработает быстрее, при условии того что отрабатывается только по завершению запроса (так как данные уже получены, время будет затрачено только на "визуализацию" циферки) чем запрос с count() (включим накладные расходы на коннект транспорт и т.д.) НО (и опять нюанс...) и все-таки, если речь идет о PHP в смысле вывода данных порционно, то использовать необходимо count() для честной цифры строк в ТАБЛИЦЕ а не в запросе, ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2014, 11:29:08 |
|
||
|
Подсчет количества строк от точки A до точки B и все
|
|||
|---|---|---|---|
|
#18+
>Mysql не знает и о ПХП >>а кто мусклю запросы посылает? астральная фея? >клиентская "библиотека" то есть пхп... Alex_Ustinovу сервера mysql есть "двери" через которые он пускает "вопросы" и отдает "ответы" что находится за "дверью" сервер не знает... он либо принимает "вопрос" и отдает "ответ", либо говорит - "извини, дверь, не понимаю твой вопрос..." дверь - это клиентская "библиотека"Вот именно, но тогда мне совершенно непонятно, с чего вы взяли, что Alex_UstinovТогда смею утверждать, что в условиях чистого клиента (как mysql-клиента, так и PHP-как клиента) на удаленной "машине"... mysql_row_num() отработает быстрее, при условии того что отрабатывается только по завершению запроса ( так как данные уже получены , время будет затрачено только на "визуализацию" циферки) чем запрос с count() (включим накладные расходы на коннект транспорт и т.д.) Если запрос всех данных уже прошёл - тогда конечно будет быстрее, но ТС-то спрашивалzhurchickМожно ли одним запросом подсчитать строки в таблице, какой подход будет лучше, если ему надо только узнать количество записей: тянуть все данные с сервера + считать количество строк на клиенте или сразу посчитать это на сервере и передать одну цифру. По-моему, ответ очевиден. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2014, 12:28:13 |
|
||
|
|

start [/forum/moderation_log.php?user_name=inkognito-xiii]: |
0ms |
get settings: |
6ms |
get forum list: |
11ms |
get settings: |
6ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
30ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 691ms |
| total: | 809ms |

| 0 / 0 |
