Автор Тема: Кое е по- бързо COUNT(id) или ...->rowCount()  (Прочетена 1170 пъти)

0 Потребители и 1 Гост преглежда(т) тази тема.

HanKrum

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 121
  • -Получени: 73
  • Публикации: 1001
  • Кибик
Кое е по- бързо COUNT(id) или ...->rowCount()
« -: 10 Август 2017, 09:49:02 »
Здравейте!
Ползвам PDO и MySQL с много тежка база и всяка милисекунда ми е важна.
Та на въпроса: Кое е по-бързо?
Код: PHP
  1. $br = $this->bd()->prepare('SELECT COUNT(id) AS cnt FROM tab;')->fetchRowAssoc();
  2. $broj = $br['cnt']
  3. //като fetchRowAssoc() е ...->fetch(\PDO::FETCH_ASSOC)
или
Код: PHP
  1. $broj = $this->bd()->prepare('SELECT id FROM tab;')->RowCount();
"Силата на правителството се крепи на невежеството на народа, и те знаят това и винаги ще се борят против просвещението." Лев Толстой

HD

  • Administrator
  • Hero Member
  • *****
  • Благодарности
  • -Казани: 208
  • -Получени: 165
  • Публикации: 3077
Re: Кое е по- бързо COUNT(id) или ...->rowCount()
« Отговор #1 -: 24 Август 2017, 11:42:35 »
Ако базата данни ти е много тежка, бих казал второто.

Mysqli

  • Newbie
  • *
  • Благодарности
  • -Казани: 8
  • -Получени: 0
  • Публикации: 17
Re: Кое е по- бързо COUNT(id) или ...->rowCount()
« Отговор #2 -: 07 Юни 2020, 23:25:38 »
И аз ще кажа второто ....по малко букви по бързо чете )) Не че друго, ама като "тридневен специалист" ме бива )) Абе малко майтап да става, пak другото ще го бутаме полека лека ... Han Krum закачих се за темета понеже гледам лентичката на знамето, та да те попитам защо така ?

HanKrum

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 121
  • -Получени: 73
  • Публикации: 1001
  • Кибик
Re: Кое е по- бързо COUNT(id) или ...->rowCount()
« Отговор #3 -: 05 Юли 2020, 22:35:52 »
... жалейка за България ... дай Боже някога да възкръстне !!!
"Силата на правителството се крепи на невежеството на народа, и те знаят това и винаги ще се борят против просвещението." Лев Толстой

Avalanche

  • Administrator
  • Hero Member
  • *****
  • Благодарности
  • -Казани: 65
  • -Получени: 275
  • Публикации: 2601
  • meow
Re: Кое е по- бързо COUNT(id) или ...->rowCount()
« Отговор #4 -: 08 Юли 2020, 11:48:18 »
Верният отговор е SELECT COUNT(*) FROM - това е специален синтаксис и е оптимизиран за броене на колони. Доколкото си спомням даже в MyISAM се пазеше отделно точния брой на редовете и не се обхожда цялата таблица при всяка заявка. За InnoDB нямам спомени вече, но мисля, че имаше нещо подобно и там.
"Компютрите не правят каквото искаме, а каквото им кажем." Ако разбереш какво значи това няма да имаш големи проблеми, нито с никоя ОС, нито език, или софтуер.
Аз не съм програмист между другото!