[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Что быстрее, выбрать все записи или с LIMIT ?
Страницы: 1, 2, 3
Valick
Цитата
а индексы он учитывать научился?

можно подробнее? о каких индексах идет речь?


_____________
Стимулятор ~yoomoney - 41001303250491
vasa_c
Цитата
ооО.. скока лет скока зим. как то я у тебя на пыхе неделю жил) читал и читал)

случайно зашёл

Цитата
можно подробнее? о каких индексах идет речь?

обычный mysql-индексах, с помощью которых выборки происходят

_____________
Блог ГО | Таблица символов Юникода | Графомания
Valick
Цитата
обычный mysql-индексах, с помощью которых выборки происходят

как индекс влияет на количество строк выборки? вы хотите сказать, что проиндексированное и непроиндексированное поле дают различные результаты SQL_CALC_FOUND_ROWS ?

_____________
Стимулятор ~yoomoney - 41001303250491
killer8080
Цитата (Valick @ 4.02.2013 - 17:38)
как индекс влияет на количество строк выборки? вы хотите сказать, что проиндексированное и непроиндексированное поле дают различные результаты SQL_CALC_FOUND_ROWS ?
Игорь_Vasinsky
так то вот.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Guest
count(*) быстрее отработает, чем count() по полю, даже проиндексированному. Или я не прав?)
Игорь_Vasinsky
не проверял.

микросекунды не считаю, нет необходимости

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Gabriel
Цитата (Guest @ 4.02.2013 - 18:30)
count(*) быстрее отработает, чем count() по полю, даже проиндексированному. Или я не прав?)

тебя попросили подсчитать количество яблок в ящике в котором по мимо яблок лежат: ананасы, груши, помидоры. но ты подсчитываешь всё, что есть в ящике.
1. что займёт больше времени?
2. что будет логичнее?

_____________
one step, two steps HERE WE GO!!!
Игорь_Vasinsky
вопрос что будет быстрее) на факт что задачка по математике за 2й класс решит все вопросы

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Valick
killer8080
1) я спрашивал про количество строк, а не про время.
2) статья я так понимаю про составной индекс? с обычным все в порядке?
3) корректно ли сравнивать выборку 75327 и 5479 строк? почему WHERE разный?
4) статья 2007 года + не указана версия MySQL (хотя коменты до конца не дочитал), ни ось, ни другие параметры тоже не указаны.
Надо будет провести собственный тест
___
Цитата
так то вот

Игорь_Vasinsky, вы хотите сказать "Акелла промахнулся"?

_____________
Стимулятор ~yoomoney - 41001303250491
killer8080
Цитата (Valick @ 5.02.2013 - 00:01)
1) я спрашивал про количество строк, а не про время.

ну время как раз таки гораздо важнее, чем экономия в один запрос
Цитата (Valick @ 5.02.2013 - 00:01)
2) статья я так понимаю про составной индекс? с обычным все в порядке?

надо проверить
Цитата (Valick @ 5.02.2013 - 00:01)
3) корректно ли сравнивать выборку 75327 и 5479 строк? почему WHERE разный?

я повторял его код на той же версии субд. Разные условия выборки меня то же смутили, поэтому я использовал одинаковые условия в запросе. Разница во времени в десятки раз, в пользу count()
Цитата (Valick @ 5.02.2013 - 00:01)
4) статья 2007 года + не указана версия MySQL (хотя коменты до конца не дочитал), ни ось, ни другие параметры тоже не указаны.

Возможно, версия там указана в комментах
Цитата
All tests were performed on MySQL 5.0.45 on MacOS X 10.4.8.

Цитата (Valick @ 5.02.2013 - 00:01)
Надо будет провести собственный тест

проверь, будет полезно, желательно на свежей версии мускула.
S.Chushkin
При постраничном выводе...
1) Про array_chunk() забыть.
2) В общем случае SQL_CALC_FOUND_ROWS vs count(*) первый быстрее. В частных случаях может быть равный или даже чуть медленнее.
В любом случае: При большом числе записей (миллионы-десятки.млн) выборка может быть очень долгой, решение - кешировать.


_____________
Рекламка / ad.pesow.com Хрень / mr-1.ru
vasa_c
Цитата
В общем случае SQL_CALC_FOUND_ROWS vs count(*) первый быстрее.

пруф. и что за "общий случай"?

Цитата
При большом числе записей (миллионы-десятки.млн) выборка может быть очень долгой, решение - кешировать.

что кешировать?
и чем плохо решение "ставить индексы на таблицу"?

_____________
Блог ГО | Таблица символов Юникода | Графомания
S.Chushkin
Цитата (vasa_c @ 5.02.2013 - 14:56)
пруф. и что за "общий случай"?

Ну например, из 1 000 000 случаев в >50% будут быстрее. Устраивает? smile.gif

Цитата
что кешировать?

Результаты выборки.

Цитата
и чем плохо решение "ставить индексы на таблицу"?

Это не "плохое" и не "хорошее" решение, это "обязательное" wink.gif
И, наличие индексов это не панацея. Например, при выполнении выборки в 0.1 секунду (по индексу) при одновременном числе запросов в 50/сек Ваш SQL-сервер умрёт.
Кеширование это первичное решение этого. Если не хватает, то +другие. В общем, это аксиомы и к данной теме не имеет отношения.

_____________
Рекламка / ad.pesow.com Хрень / mr-1.ru
vasa_c
Цитата
Ну например, из 1 000 000 случаев в >50% будут быстрее. Устраивает?

Это не пруф, это утверждение. Есть результаты тестов?

Цитата
При большом числе записей (миллионы-десятки.млн) выборка может быть очень долгой

Если мы выбираем по упорядоченному индексу с, допустим, LIMIT 10,10, будет ли влиять на скорость общее количество строк?

_____________
Блог ГО | Таблица символов Юникода | Графомания
Быстрый ответ:

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