
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
17.03.2015, 18:59:15
|
|||
|---|---|---|---|
Помогите правильно расставить индексы |
|||
|
#18+
Первый проект с MySQL. Есть таблица Код: sql 1. 2. 3. 4. 5. 6. 7. 8. Поле field1 не может быть null если field2 не null. Поле field3 не может быть null если field1 не null или field2 не null или field4 не null. Наиболее часто встречающиеся селекты по field1 и field2 , реже по field4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.03.2015, 19:01:58
|
|||
|---|---|---|---|
Помогите правильно расставить индексы |
|||
|
#18+
saxixПоле field1 не может быть null если field2 не null. Поле field3 не может быть null если field1 не null или field2 не null или field4 не null. Это не по существу. saxixНаиболее часто встречающиеся селекты по field1 и field2 , реже по field4 Скорость каких именно селектов не устраивает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.03.2015, 19:08:20
|
|||
|---|---|---|---|
Помогите правильно расставить индексы |
|||
|
#18+
AkinasaxixПоле field1 не может быть null если field2 не null. Поле field3 не может быть null если field1 не null или field2 не null или field4 не null. Это не по существу. saxixНаиболее часто встречающиеся селекты по field1 и field2 , реже по field4 Скорость каких именно селектов не устраивает?Если честно - всех. На локальной машине при 4 млн записей даже select count(*) from test идет по 130 секунд ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.03.2015, 20:07:07
|
|||
|---|---|---|---|
Помогите правильно расставить индексы |
|||
|
#18+
saxixAkinaпропущено... Это не по существу. пропущено... Скорость каких именно селектов не устраивает?Если честно - всех. На локальной машине при 4 млн записей даже select count(*) from test идет по 130 секунд так не пойдет. надо конкретно разбирать запросы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.03.2015, 20:40:11
|
|||
|---|---|---|---|
Помогите правильно расставить индексы |
|||
|
#18+
Я правильно понимаю, что в индекс включаются все поля, которые указываются в блоках where и order by? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.03.2015, 20:43:58
|
|||
|---|---|---|---|
Помогите правильно расставить индексы |
|||
|
#18+
сколько часто употребляемых запросов, столько и индексов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.03.2015, 22:42:45
|
|||
|---|---|---|---|
Помогите правильно расставить индексы |
|||
|
#18+
saxixЯ правильно понимаю, что в индекс включаются все поля, которые указываются в блоках where и order by? Нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.03.2015, 00:24:23
|
|||
|---|---|---|---|
Помогите правильно расставить индексы |
|||
|
#18+
saxixЯ правильно понимаю, что в индекс включаются все поля, которые указываются в блоках where и order by? Только в where. order by редко можно индексом оптимизировать, и не стоит этим заниматься. Ну и без конкретного запроса совсем об этом говорить бесполезно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.03.2015, 00:27:33
|
|||
|---|---|---|---|
Помогите правильно расставить индексы |
|||
|
#18+
AkinasaxixЯ правильно понимаю, что в индекс включаются все поля, которые указываются в блоках where и order by? Нет. Ну да, на счёт "всех полей" конечно тоже далеко не так. Бывают SARG-и, и не SARG-и, в примитивном изложении -- SARG-и -- это поля, фильтрующиеся не под функцией или выражением по равенству или предикату LIKE с префиксным выражением. ( xxx LIKE 'abc%' ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.03.2015, 08:03:11
|
|||
|---|---|---|---|
Помогите правильно расставить индексы |
|||
|
#18+
Спасибо. На ночь начитался про индексы и ключи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.03.2015, 08:06:17
|
|||
|---|---|---|---|
Помогите правильно расставить индексы |
|||
|
#18+
и еще спрошу. Насколько я понял - мускуле нет групп пользователей или тому подобного как в постгресе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.03.2015, 09:29:21
|
|||
|---|---|---|---|
Помогите правильно расставить индексы |
|||
|
#18+
Насчёт индексов - если селективность индекса низкая, как правило дешевле сканировать таблицу, чем ещё и в индексы лазить. Приблизительный порог селективности составляет 5-20% (т.е. если в секции отбора по данному полю отбирается треть записей, индекс не будет использоваться, а если десятая или сотая часть - будет). Впрочем, и тут есть свои нюансы. Например, если суммарный размер записи велик, разумнее сканировать индекс даже при низкой селективности. Если индекс покрывающий, разумнее работать с ним, а не с таблицей. Но это всё нечастые случаи. К тому же всегда можно серверу приказать использовать или не использовать определённый индекс соотв. инструкцией в запросе. Групп в MySQL действительно нет. Но системы копирования прав и назначения прав структурам в большинстве случаев достаточно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.03.2015, 17:39:42
|
|||
|---|---|---|---|
Помогите правильно расставить индексы |
|||
|
#18+
Подскажите по синтаксису Код: sql 1. 2. 3. 4. 5. 6. 7. Соответственно на первой строке после BEGIN отваливается( #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 3 ) Хотя вот так не ругается: Код: sql 1. 2. 3. 4. 5. 6. Чувствую проблема со скобками или входящими переменными - поигрался - ноль эмоций. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=47&tablet=1&tid=1833420]: |
0ms |
get settings: |
5ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
45ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 228ms |
| total: | 345ms |

| 0 / 0 |
