[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Что лучше? +1 запрос в MSQL или +1 таблица в базе
Страницы: 1, 2
andrey888
CoopeR
Сказать по чесноку . не проверял сам на скорость , но доверился советам опытных MySQL разработчиков ..
Не помню точно что смотрел, (вебинар какой нить) или читал (книжку какую нить) . Но в моем мозгу прочно засело, что за "*" в запросе БД-оптимизаторы отрывают руки ))).. после которого в своих проектах на внешних страницах (не для админа или модератора) везде убрал этот симпотишный значек "*" и поставил конкретные поля для выборки.

_____________
Прогноз на следующие 5 лет : Россия, Китай - две величайшие державы.
США в Ж*пе. Справедливость восторжествует. )
twin
Дело тут не в скорости особо. Недерменированные запросы жрут память. Но и это фигня по большому счету. Тут больше важна читабельность. Пойди разбери, что где вернулось. Каждый раз в базу лазить, смотреть назвния ячеек...

Звездочка хороша, если есть сопутствующая документированность. А это, на сколько мне известно, слабо возможно при использовании phpdoc. А внутрь лезть - моветон. Инкапсуляция.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Guest
Цитата (CoopeR @ 25.10.2013 - 09:33)
лучше добавить 1 запрос в базу который подсчитает колл статей с определённым id (через count())
или
добавить в таблицу с меню 1 поле в который из админку будет добавляться +1

Лучше читать документацию по SELECT в которой есть упоминание о SQL_CALC_FOUND_ROWS.
https://dev.mysql.com/doc/refman/5.0/en/inf...tion_found-rows
twin
Цитата (Guest @ 25.10.2013 - 16:51)
Цитата (CoopeR @ 25.10.2013 - 09:33)
лучше добавить 1 запрос в базу который подсчитает колл статей с определённым id (через count())
или
добавить в таблицу с меню 1 поле в который из админку будет добавляться +1

Лучше читать документацию по SELECT в которой есть упоминание о SQL_CALC_FOUND_ROWS.
https://dev.mysql.com/doc/refman/5.0/en/inf...tion_found-rows

А лучше вникнуть в вопрос, чем советовать не ту оперу.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
DedMorozzz
Цитата (Guest @ 25.10.2013 - 19:51)

Лучше читать документацию по SELECT в которой есть упоминание о SQL_CALC_FOUND_ROWS.

И расскажи ка нам, как он работает...
Цитата
добавить в таблицу с меню 1 поле в который из админку будет добавляться +1

Зависит от того, как часто будет требоваться этот самый каунт и размер таблицы.

Для примера - в текущем проекте, я обновляю статы сразу целого ряда статистик. Но делаю это через триггер

Если таблица большая (пару млн записей) - каждый раз считать, это не вариант(если myisam - это будет быстрее, чем иннодб, но всё равно)

Так что всё зависит от доп. данных

_____________
Если не говорить пользователям, что Linux это "Сложно и страшно", то им совершенно всё равно, в чём не разбираться
Гость_Alan
andrey888
Цитата
CoopeR
Сказать по чесноку . не проверял сам на скорость , но доверился советам опытных MySQL разработчиков ..
Не помню точно что смотрел, (вебинар какой нить) или читал (книжку какую нить) . Но в моем мозгу прочно засело, что за "*" в запросе БД-оптимизаторы отрывают руки ))).. после которого в своих проектах на внешних страницах (не для админа или модератора) везде убрал этот симпотишный значек "*" и поставил конкретные поля для выборки.


Да, там вроде это относится к таблицам с движком InnoDB, специфика подсчёта с выборкой всех полей (*). Если по первичному ключу, так как он сам по себе является индексом, производится подсчёт по индексированным частям что в разы меньше и быстрее.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.