|
|
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
Выбираются все темы форума из таблицы тем, а так же количество сообщений в этих темах из таблицы сообщений, и еще нужно выбрать имя автора самого нового сообщения в каждой теме, это я не знаю как сделать, у меня выбирается имя автора самого старого сообщения. Подскажите Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2013, 09:14:23 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2013, 09:21:36 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
Спасибо, сам уже посмотрел! Так сделал: Код: sql 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2013, 09:24:57 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
Еще один вопрос: Почему так не работает? Код: sql 1. выдает ошибку Код: sql 1. А так работает: Код: sql 1. И так тоже работает: Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2013, 10:09:42 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
Правильно не работает.... ты чё пытаешься алиасить-то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2013, 10:24:47 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
Ага, разобрался ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2013, 12:25:27 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
Еще вопрос. Вот такой запрос: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Мне нужно выбрать темы из таблицы тем, при условии что существуют сообщения в этих темах в таблице сообщений, у которых автор - конкретный пользователь. Я это сделал через join таблицы тем с таблицей сообщений ограниченной по нику пользователя. Но еще нужно посчитать сколько всего сообщений в этих темах, от всех пользователей, я это сделал через второй join с таблицей сообщений. Но результат получается не правильный - количество сообщений считается с возведением в квадрат количества сообщений от каждого пользователя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2013, 06:44:58 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
D_Pavel, разделите два посчета, например так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2013, 07:17:52 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
Спасибо! Сделал по аналогии так, но мне кажется что это не оптимально, присутствуют одинаковые выборки: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. Возможно оптимизировать быстродействие или упростить запрос? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2013, 07:58:27 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
И еще у меня в этом запросе не правильно считает lentitle - длинна самого длинного заголовка из выбранных, почему-то просматривает всю таблицу тем, а не отсеянные темы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2013, 08:02:39 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
Последнюю ошибку вот так исправил, но кажется запрос стал еще неоптимальнее: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2013, 08:05:23 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
D_Pavel, оптимальный-нешоптимальный... таких слов не бывает. запрос должен , в порядке значимости: 1. выдавать правильный результат 2. быть в пределах скорости указаных в техзадании 3. не грузить сервер 4. быть более-менее понятным автору через 3 месяца 5. вызывать естетическое удоволъствие у эстетов скл.ру P.S. вместо выполнения пунктов 4 и 5 можно пойти пить пиво и играть в преферансе... или с женшинами... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2013, 08:30:29 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
То есть если мой запрос по два раза выбирает одни и те же данные и укладывается в нужное время, то оставить все как есть? Он даже у меня не вызывает эстетического удовольствия. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2013, 08:57:16 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
Пробую по частям. Код: sql 1. 2. 3. 4. 5. Как в этот запрос вставить подсчет длины самой длинной строки title ? Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2013, 10:17:36 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
Даже еще упростил, все равно не понятно: Код: sql 1. 2. Нужно добавить вычисление длины самой длинной выбранной строки. Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2013, 10:51:52 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
D_PavelВыбираются все темы форума из таблицы тем, а так же количество сообщений в этих темах из таблицы сообщений, и еще нужно выбрать имя автора самого нового сообщения в каждой теме http://sqlfiddle.com/#!2/7a15a/1 Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2013, 11:14:51 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
Поправка: http://sqlfiddle.com/#!2/71133/1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2013, 11:18:03 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
D_PavelЕще вопрос. Мне нужно выбрать темы из таблицы тем, при условии что существуют сообщения в этих темах в таблице сообщений, у которых автор - конкретный пользователь. Но еще нужно посчитать сколько всего сообщений в этих темах, от всех пользователей http://sqlfiddle.com/#!2/71133/2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2013, 11:43:26 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
у тебя получается условие по nik из таблицы topics, а должно быть по nik из таблицы messages. То есть выборка topics с участием nik в messages, не важно кто автор в topics. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2013, 11:48:33 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
D_Pavelу тебя получается условие по nik из таблицы topics, а должно быть по nik из таблицы messages. То есть выборка topics с участием nik в messages, не важно кто автор в topics.Сорь, не понял сразу. FIX: http://sqlfiddle.com/#!9/894fc/1 Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2013, 12:03:53 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
Спасибо, классный запрос ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2013, 12:30:38 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
Собрал все вместе, немного допилил, получилось так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. lentitle буду получать из последней строки результата запроса. Все верно получилось? Может что-то не нормально? Я новичок, не знаю возможностей MySQL, поэтому могу что-то написать очень глупое, поправьте пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2013, 16:16:45 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
D_PavelТо есть если мой запрос по два раза выбирает одни и те же данные и укладывается в нужное время, то оставить все как есть? Он даже у меня не вызывает эстетического удовольствия. в жизни должны быть приоритеты. Для програмиста -- эстетика кода вполне важна, но на 5-ом месте (примерно по приведеному списку). Без пункта #2 и #3 говорить об естетике просто рано. Укажите имеюшуюся скорость, какие обьемы есть или как ожидаются, какие требования к скорости, план запроса... ну и все такое. Или уточните что вам по барабану скорость и вы тут просто изучаете возможности СКЛ-а в отрыве от конкретной задачи. Что тоже интересно само по себе :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2013, 16:37:24 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
Скорее последнее, так как до больших объемов еще очень далеко, база только начинает заполняться. НО по опыту другого аналогичного проекта с уже приличной базой, даже при самых оптимальных запросах(наверное) которые делал опытный эскуэльщик, потребовался дорогой выделенный сервер. Мне бы хотелось чтобы база как можно дольше работала и росла на дешевом виртуальном сервере и не тормозила. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2013, 06:08:55 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
D_PavelСкорее последнее, так как до больших объемов еще очень далеко, база только начинает заполняться. НО по опыту другого аналогичного проекта с уже приличной базой, даже при самых оптимальных запросах(наверное) которые делал опытный эскуэльщик, потребовался дорогой выделенный сервер. Мне бы хотелось чтобы база как можно дольше работала и росла на дешевом виртуальном сервере и не тормозила. ок, понятно, тогда я бы поставил приоритетом пиво. Не имея в наличии реальной проблемы, не имея в наличии больших данных -- вы даже план реальный не получите. Кроме того, пока вы доживете до больших обьемов -- структура данных и все апликация поменяется на 90%... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2013, 06:56:35 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
javajdbcКроме того, пока вы доживете до больших обьемов -- структура данных и все апликация поменяется на 90%...вот это куда весомее, чем какие-то там планы :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2013, 07:23:17 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
Сделал все вроде оптимально, только в этом месте вопрос: Код: sql 1. 2. 3. 4. 5. Мне кажется что тут не правильно. Наверное выбираться будут все записи из таблицы topics, параллельно будут выбираться записи с условием из таблицы messages, и только потом будет отсечение всех кроме первых 10 штук. А правильнее сначала выбрать записи из таблицы topics, отсечь все кроме первых 10, и потом по этим 10 выбирать с условием из таблицы messages. Или это не важно, и оптимизатор все сам сделает как надо? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2013, 06:44:56 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
Исправил (наверное) вот так, правильно??: Код: sql 1. 2. 3. В первом запросе ошибка, должно быть конечно вот так: Код: sql 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2013, 06:53:04 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
И еще вопрос в довесок к предыдущему: Сделал три запроса дающих нужный результат, какой быстрее? Запросы конечно сильно упростил, убрал ограничивающие условия. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2013, 08:19:24 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
D_Pavelкакой быстрее?выполните и посмотрите, вы всё-таки ближе к своему серверу, чем мы :) D_PavelЗапросы конечно сильно упростил, убрал ограничивающие условия.здравствуйте, у меня есть запорожец и москвич, какой из них быстрее? кстати, на самом деле я заправляюсь бензином, но вы при ответе на вопрос считайте, что они работают на ДТ :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2013, 08:28:50 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
Теоретически москвич быстрее потому что у него соотношение (мощность, крутящий момент)/масса больше. Можно ли так же ответить на мой вопрос? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2013, 08:42:02 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2013, 10:52:11 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
Ой, это ж MySQL... Хз, я про ответил MS SQL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2013, 10:55:24 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
D_PavelТеоретически москвич быстрееТеоретически если их заправить дизтопливом, то ни один, ни другой даже с места не сдвинутся. Пойдёт такой ответ? :) А практически вам может ответить только оптимизатор на ваших данных. Разве что второй вариант можно с вероятностью в 99.9% исключить, если у вас мускл версии 5.5 и ниже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2013, 12:07:07 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
Не верно, у меня все запросы с места сдвигаются в любом варианте, так что такой ответ не годится. Почему второй вариант можно исключить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2013, 05:47:16 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
D_Pavel, потому что in-subquery в версиях до 5.5 включительно оптимизатор практически всегда рассматривает как зависимый подзапрос, даже если он , как в вашем случае, независимый. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2013, 06:38:01 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
Почему у меня так: индекс не используется в таблице topics [img=http://pavel.cc/photo/screenshot(5).jpg] ссылка1 хотя вот ак используется: [img=http://pavel.cc/photo/screenshot(6).jpg] ссылка2 PS: Чото картинки не вставляются ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2013, 07:44:16 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
D_PavelПочемуПотому что 15236671 Абсолютно та же ситуация. Переписывайте через джойн, всё заработает как надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2013, 07:57:14 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
Там написано что только для версии до 5.5. через join то же самое, я это сразу проверил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2013, 18:59:19 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
D_PavelТам написано что только для версии до 5.5.Ну вы ведь версию своего мускля вообще не озвучили. И не "до 5.5", а "до 5.5 включительно". D_Pavelчерез join то же самоеЧто "то же самое"? Такой же план? С dependent subquery? Не верю! (с) Показывайте свой джойн. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2013, 05:25:49 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
Eще не понятно, что показывает функция EXPLAIN: скриншот Выбираются на самом деле все 15 записи с 4 различными значениями parent из таблицы messages, но эта функция в колонке rows показывает число 1. Почему там 1? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2013, 06:15:40 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
***! Что вы хотите оптимизировать на 15 записях?!! Какие нахрен планы на 15 записях?? Наполните таблицу данными, близкими к реальным, а лучше реальными, и только потом можно будет о чём-то говорить. И это, кстати, вообще другой запрос, с выбором других полей и без группировки. facepa~1.bmp ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2013, 06:22:02 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
То есть если я сказал что у меня 15 записей, то вы не знаете ответ на мой вопрос? Какие группировки нужны? Как изменить запрос чтобы использовались индексы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2013, 07:10:50 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
D_PavelТо есть если я сказал что у меня 15 записей, то вы не знаете ответ на мой вопрос?А вопрос-то какой? "Какой запрос быстрее"? Тогда ответ будет таким: на 15 записях никакой разницы. D_PavelКакие группировки нужны? а вот этот вопрос вообще ко мне??! это ваш запрос, вам лучше знать, что вы хотите получить в результате - а добавление группировки изменит этот самый результат. D_PavelКак изменить запрос чтобы использовались индексы?Если у вас 15 записей, то никакие индексы не нужны вообще. Серверу проще прочитать обе таблицы целиком. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2013, 07:43:44 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
[quot tanglir]А вопрос-то какой? "Какой запрос быстрее"? Тогда ответ будет таким: на 15 записях никакой разницы.[quot tanglir] нет. Вопрос был "Почему так http://pavel.cc/photo/screenshot(16).jpg используются индексs, а вот так http://pavel.cc/photo/screenshot(15).jpg не используются, и как сделать чтобы тоже использовались?" tanglir а вот этот вопрос вообще ко мне??! это ваш запрос, вам лучше знать, что вы хотите получить в результате - а добавление группировки изменит этот самый результат.Вы же сами написали что у меня в новом запросе нет группировок. Я спрашиваю, о каких группировках идет речь? tanglirЕсли у вас 15 записей, то никакие индексы не нужны вообще. Серверу проще прочитать обе таблицы целиком.Зачем тогда он использует индексы в http://pavel.cc/photo/screenshot(16).jpg ? Наверное ему не важно сколько записей, он делает один и тот же план для любого количества. И если получится сделать хороший запрос для 4 записей, то он будет таким же для 150000 записей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2013, 08:26:22 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
D_Pavelо каких группировках идет речь?О тех, что были в предыдущих запросах. Но если речь уже не о них, то проехали. D_PavelЗачем тогда он использует индексы в http://pavel.cc/photo/screenshot(16).jpg ?Потому что в первом запросе есть фильтр по первичному ключу. Выбираются всего 2 записи (из 15?). Хотя учитывая, что там всего 15 записей, я, честно говоря, не понимаю, почему оптимизатор решил там использовать индекс, быстрее было бы вычитать всю таблицу целиком. А во втором фильтра нет, есть только связь. Так вот оптимизатор посчитал, что выгодней целиком прочитать topics и к ней прицепить записи из messages, используя индекс по messages.parent. Только используется он, повторюсь, не для фильтрации, а для соединения. У вас запросы абсолютно разные вещи делают, а вы хотите сравнивать использование индексов... D_Pavelне важно сколько записей, он делает один и тот же план для любого количества. И если получится сделать хороший запрос для 4 записей, то он будет таким же для 150000 записей.Совсем необязательно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2013, 10:51:30 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
Как тогда сделать вместо соединения фильтрацию? Например если из одной таблицы выбрались две записи, то сделать фильтрацию по этим двум записям во второй таблице по ключу, чтобы выбралось тоже две записи, а не читалась вся таблица? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2013, 11:31:28 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
D_PavelКак тогда сделать вместо соединения фильтрацию?пц товарищи, я пас ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2013, 12:06:40 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
Есть кто-нибудь другой кто знает как это сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2013, 12:30:58 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
D_PavelНаверное ему не важно сколько записей, он делает один и тот же план для любого количества. И если получится сделать хороший запрос для 4 записей, то он будет таким же для 150000 записей. Почитайте Когда создавать индексы , Определяем порядок столбцов в составном индексе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2013, 10:35:06 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
Спасибо! Классная штука, этот составной индекс. Еще вопрос появился. Запрос: Код: sql 1. 2. 3. В зависимости от условия Where messages.nik = '*****' меняется план запроса. Если в ковычках поставить значение которое часто встречается в колонке таблицы, то в плане запроса видно что индекс по этой колонке не используется. Если значение встречается редко или вообще не встречается, то индекс используется. Почему так? Разве оптимизатор знает какое значение сколько раз используется до того как выполнит запрос? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2013, 13:28:25 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
D_PavelРазве оптимизатор знает какое значение сколько раз используется до того как выполнит запрос?Да! Прочитайте уже оф.доку про индексы , что ли... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2013, 17:50:37 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
Зачем советовать читать текст на английском языке, если там не слова нет про то что я спросил!? Я потратил время впустую. Модератор: Даже если ссылка с Вашей точки зрения не годна, это еще не повод переходить на личности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2013, 06:30:54 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
MySQL у меня версии 5.5.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2013, 06:33:56 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
D_PavelЗачем советовать читать текст на английском языкеНа русском языке не существует приличной доки по современным версиям MySQL. На остальные языки тоже происходит перевод, качество которого неизвестно. Так что английский вариант - самый правильный. D_Pavelесли там не слова нет про то что я спросил!? Я потратил время впустую.Ну не так чтобы совсем ни слова...How MySQL Uses IndexesSometimes MySQL does not use an index, even if one is available. One circumstance under which this occurs is when the optimizer estimates that using the index would require MySQL to access a very large percentage of the rows in the table. (In this case, a table scan is likely to be much faster because it requires fewer seeks.) Еще вот такая ссылка пригодится: http://dev.mysql.com/doc/refman/5.5/en/analyze-table.html ANALYZE TABLE analyzes and stores the key distribution for a table. ... MySQL uses the stored key distribution to decide the order in which tables should be joined when you perform a join on something other than a constant. In addition, key distributions can be used when deciding which indexes to use for a specific table within a query. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2013, 10:27:29 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
D_PavelРазве оптимизатор знает какое значение сколько раз используется до того как выполнит запрос?SQL накапливает статистику по всем таблицам и индексам. Так что да, он может предположить, сколько строк будет получено в результате того или иного запроса, и выбрать на основе этого предположения наименее затратный способ извлечь эти данные. Как правило, оценка достаточно точная для построения оптимального плана выполнения, но бывает, что статистика неверна и фактическое число строк отличается от предполагаемого на порядки - в этом случае построенный план оптимальным не будет. По MySQL не нашел хорошей ссылки, но вот есть про Использование статистики оптимизатором запросов Microsoft SQL Server 2005 Конечно, в MySQL (с версионностью) что-то делается не так, но общие принципы, ятд, остаются в силе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2013, 11:02:52 |
|
||
|
|

start [/forum/topic.php?all=1&fid=47&tid=1835574]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
30ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
114ms |
get tp. blocked users: |
2ms |
| others: | 202ms |
| total: | 394ms |

| 0 / 0 |
