|
|
|
Простой или составной индекс
|
|||
|---|---|---|---|
|
#18+
Есть таблица вида: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. В ExtTable содержится название таблицы, к которой относится изображение, а в ExtTableID - ID первичного ключа в указанной таблице. С учетом того, что ExtTable это ENUM с 5 значениями, стоит ли делать составной индекс на 2 колонки ExtTable, ExtTableID или это бессмысленно и эффективнее будет работать индекс по одной колонке ExtTableID? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2016, 10:23 |
|
||
|
Простой или составной индекс
|
|||
|---|---|---|---|
|
#18+
Int_20h, зависит от ваших запрос сам по себе enum не ограничивает использование составного индекса ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2016, 10:40 |
|
||
|
Простой или составной индекс
|
|||
|---|---|---|---|
|
#18+
retvizan, Запрос всегда будет вида select * from GraphicsImages where ExtTable = ? and ExtTableID = ?. Вопрос не в том, ограничивает ли ENUM использование индекса, а в том, насколько этот индекс будет эффективным. Селективность у первой колонки - максимум 5. Я знаю, что в случае с простыми индексами индексирование с подобной селективностью - бесполезно, а иногда и вредно. Хочу понять, как в данном случае стоит поступать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2016, 10:52 |
|
||
|
Простой или составной индекс
|
|||
|---|---|---|---|
|
#18+
Int_20hСелективность у первой колонки - максимум 5. Я знаю, что в случае с простыми индексами индексирование с подобной селективностью - бесполезно, а иногда и вредно. Хочу понять, как в данном случае стоит поступать.Селективность - понятие, существующее только для используемой части (всего выражения или используемого в конкретном запросе префикса) индекса в целом, но никак не для префикса используемой части. Поскольку для показанного запроса будет использоваться весь индекс, а не его префикс по полю ExtTable, то для этого запроса селективность индекса вовсе даже не 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2016, 10:57 |
|
||
|
Простой или составной индекс
|
|||
|---|---|---|---|
|
#18+
Akina, т.е. имеет смысл делать составной индекс в данном случае? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2016, 11:26 |
|
||
|
Простой или составной индекс
|
|||
|---|---|---|---|
|
#18+
Int_20hСелективность у первой колонки - максимум 5.вы неправильно понимаете термин селективность Int_20hЯ знаю, что в случае с простыми индексами индексирование с подобной селективностью - бесполезно, а иногда и вредно.бывает и наоборот Int_20hт.е. имеет смысл делать составной индекс в данном случае?да ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2016, 11:32 |
|
||
|
Простой или составной индекс
|
|||
|---|---|---|---|
|
#18+
Int_20h, Покажите результат этого запроса: Код: sql 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2016, 11:46 |
|
||
|
Простой или составной индекс
|
|||
|---|---|---|---|
|
#18+
retvizanвы неправильно понимаете термин селективность Да, я уже понял, что к составляющей индекса его применять не корректно. Разберусь в итоге. По запросу "селективность mysql" ничего толкового не ищется, еще "mysql cardinality" посмотрю. Int_20hт.е. имеет смысл делать составной индекс в данном случае?да[/quot] Спасибо. Еще такой вопрос, какой порядок столбцов в данном случае лучше указать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2016, 11:59 |
|
||
|
Простой или составной индекс
|
|||
|---|---|---|---|
|
#18+
miksoft, COUNT(*)COUNT(DISTINCT ExtTableID)COUNT(DISTINCT ExtTableID ExtTable)453221984396 Пока так. В дальнейшем количество строк будет расти примерно в таких же пропорциях. Есть еще таблица с подобной структурой. В ней показатели следующие: COUNT(*)COUNT(DISTINCT ExtTableID) COUNT(DISTINCT ExtTableID ExtTable) 576913791608 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2016, 12:17 |
|
||
|
Простой или составной индекс
|
|||
|---|---|---|---|
|
#18+
Int_20hкакой порядок столбцов в данном случае лучше указать?Для конкретно этого запроса - пофиг. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2016, 12:32 |
|
||
|
Простой или составной индекс
|
|||
|---|---|---|---|
|
#18+
Akina, спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2016, 13:50 |
|
||
|
Простой или составной индекс
|
|||
|---|---|---|---|
|
#18+
Int_20hmiksoft, COUNT(*)COUNT(DISTINCT ExtTableID)COUNT(DISTINCT ExtTableID ExtTable)453221984396 Пока так. В дальнейшем количество строк будет расти примерно в таких же пропорциях. Есть еще таблица с подобной структурой. В ней показатели следующие: COUNT(*)COUNT(DISTINCT ExtTableID) COUNT(DISTINCT ExtTableID ExtTable) 576913791608Для этого случая вполне достаточно индекса по одному полю ExtTableID. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2016, 17:23 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=39243113&tid=1831750]: |
0ms |
get settings: |
8ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
175ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
64ms |
get tp. blocked users: |
1ms |
| others: | 232ms |
| total: | 504ms |

| 0 / 0 |
