|
|
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#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 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38486858&tid=1835574]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
30ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
| others: | 192ms |
| total: | 323ms |

| 0 / 0 |
