Броене на брой записи от ДБ най-оптимално |
|||||||
|
|||||||
|
|
|||||||
![]() ![]() |
Искам да ми изведе например колко потребителя имам.Не ме интересува нищо друго освен колко са на брои.
И за да е напълно ясно: CODE
ако * го заменя с например ID , би трябвало да стане по-оптимизирано. Но ако направя така: CODE
e по-добре. Още по-добре е : CODE
Та това има ли накъде да се оптимизира ? Наприер колко поста има в дадена категория на форума -> каква е завката ? като последната която съм дал ли ? пп това е като 1вата тема дето пуснах с мн въпроси , ама това ми е интересно още :) |
||||||
|
---------------------------
Потребител от: 15.04.08 | Всички уроци от po_taka | Всички скриптове от po_taka http://www.tekstove.info/ дайте някви идеи кво да го права тва нещо |
|||||||
|
|
|||||||
|
|||||||
|
|
|||||||
![]() ![]() |
Тълкуваш грешно думата оптимизация. Не означава, че когато си събрал всичко в един ред си го оптимизирал. Това повишава възможноста от появата на грешка. Под оптимизация се разбира подобряването на работата на данен скрип или заявка.
Това е оптимизация : http://it-place.net/tutorial/MySQL/dev/12/756/%CF%F0%E0%E2%E8%EB%E5%ED+%E8%E7%E1%EE%F0+%ED%E0+%F2%E8%EF%EE%E2%E5%F2%E5+%ED%E0+%EF%EE%EB%E5%F2%E0%F2%E0+%E2+MySQL+%F2%E0%E1%EB%E8%F6%E0 http://it-place.net/tutorial/MySQL/dev/12/690/%C8%E7%EF%EE%EB%E7%E2%E0%ED%E5+%ED%E0+%E8%ED%E4%E5%EA%F1%E8+%E2+MySQL http://it-place.net/tutorial/MySQL/dev/12/659/%CA%E0%EA+%E4%E0+%E2%FA%E2%E5%E6%E4%E0%EC%E5+%EF%F0%E0%E2%E8%EB%ED%EE+MySQL+%EA%EE%E4+%E8+%E7%E0%F9%EE+%E5+%ED%F3%E6%ED%EE+%F2%EE%E2%E0%3F http://it-place.net/tutorial/MySQL/dev/12/553/%C8%E7%EF%EE%EB%E7%E2%E0%ED%E5+%ED%E0+Foreign+Keys+%E2+MySQL http://it-place.net/tutorial/MySQL/dev/12/121/%CA%EE%EC%EF%EB%E5%EA%F1%ED%E8+%E7%E0%EF%E8%F2%E2%E0%ED%E8%FF+%EA%FA%EC+MySQL. За последния линк имам само една малка забележка към @ Mutatos .Където е прави join е хубаво опред пред select да се сложи и един explain за да се види дали е добре заявката ако не е да може да се оптимизира |
||||||
|
---------------------------
Потребител от: 10.05.07 | Всички уроци от bgspace | Всички скриптове от bgspace |
|||||||
|
|
|||||||
|
|
|||||||
![]() ![]() |
Не знам за оптимизация, понеже всеки програмист има начин на писане и не можеш да го накараш да пише друго яче! Но по-хубаво е кода да е разбираем, възможно най-много(което в повечето големи кодове не върши мн добра работа, в смисъл че се ориентираш ама трудно го оправяш)
Например аз използвам постоянно Табове за разделяне: if(....) { tab код tab код } на всичко с { } 1. че тия скоби ги слагам на отделен ред 2. че кода м/ду тях е с Табове! А за тва изкарващото потребители: $num_potr = mysql_num_rows(mysql_query("SELECT ....."))or die(mysql_error()); echo $num_potr; |
||||||
|
---------------------------
Потребител от: 20.12.06 | Всички уроци от zipopro | Всички скриптове от zipopro Лъчезар Петров Лечев - 14 - Стара Загора - Уеб Програмист Винчета, болчета гайкии...! |
|||||||
|
|
|||||||
|
|
|||||||
![]() ![]() |
Здравейте,
Оптимално от към гледна точка трафика от сървъра на базата от данни и web сървъра е последната заявка SELECT COUNT(id). В другите две цялото съдържание на таблицта или таблиците се зарежда в паметта и от една страна заема съответното количество памет, от друга ще генерира трафик м/у sql-a и web сървъра. Дори и да са на един хост пак си е значително забавянето при голям обем от данни. Заявки от сорта CODE
За оптимално писане ... то темата е неизчерпаема, има си стандарти за това, ако някой ден попаднете в гоялма фирма ще Ви се наложи да пишете както е възприето от другите програмисти. Поздрави. |
||||||
|
---------------------------
Потребител от: 17.02.06 | Всички уроци от imagination | Всички скриптове от imagination http://www.absurdi.com |
|||||||
|
|
|||||||
|
|
|||||||
![]() ![]() |
това което @imagination каза ми трябва.
Оптимално от към гледна точка трафика от сървъра на базата от данни и web сървъра е последната заявка SELECT COUNT(id) Просто питах дали тя е най-оптимална за случая.Дали може още.... както и да е :) 10х на всички |
||||||
|
---------------------------
Потребител от: 15.04.08 | Всички уроци от po_taka | Всички скриптове от po_taka http://www.tekstove.info/ дайте някви идеи кво да го права тва нещо |
|||||||
|
|
|||||||
|
|
|||||||
![]() ![]() |
Е ми не знам! Има разлика дали ще заредиш 100 милиона реда от база данните или едно 17 хиляди(колкото са потребителите в it-place)! За това няма голямо значение какво толкова се пише в точно тази заявка. Но да тая COUNT заявка е добра...
$nums = count(mysql_query("SELECT id FROM table")or die(mysql_error())); май така беше... Спи ми се ако е грешно нещо, не ме винете! Та, виж този пример също е оптимизиран. Селектира само id от table т.е. прави 1 заявка към определено поле и после отделно се отправя само към уеб сървъра(и зарязва нали база данните). Но пък нали за това са измислили Count в MySQL? =) И двата начини са добри но твоя е по-добър, понеже вградена, по-малко се пише и така =). Поздрави, лека вечер! |
||||||
|
---------------------------
Потребител от: 20.12.06 | Всички уроци от zipopro | Всички скриптове от zipopro Лъчезар Петров Лечев - 14 - Стара Загора - Уеб Програмист Винчета, болчета гайкии...! |
|||||||
|
|
|||||||
|
|
|||||||
![]() ![]() |
Цитат от "jooorooo": Естествено че има значение, когато са повече записи е много по-добре да се използва COUNT в заявката, работи по-бързо и по леко. |
||||||
|
---------------------------
Потребител от: 19.06.08 | Всички уроци от HunteR666 | Всички скриптове от HunteR666 |
|||||||
|
|
|||||||
| 1 посетител чете тази тема (0 потребители и 1 гост) | |||
|
Активни потребители:
---
|
|||
| |||













Този отговор е маркиран като удовлетворителен!