
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
20.11.2013, 18:07:29
|
|||
|---|---|---|---|
|
|||
Имеет ли смысл индексировать одно из полей, по которым выполняется сортировка? |
|||
|
#18+
Доброе время суток. Подскажите пожалуйста, имеет ли смысл создавать индекс поля в следующем случае: Запрос к MySQL Код: sql 1. Читал здесь: http://www.mysql.ru/docs/man/ORDER_BY_optimisation.html Понял, что если сортировка происходит по нескольким индексам, то индексы не учитываются. Но может быть есть смысл проиндексировать одно из полей? (Хочется поле c, так как его значения в записях будут увеличиваться быстрее чем a и b. ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.11.2013, 18:14:59
|
|||
|---|---|---|---|
Имеет ли смысл индексировать одно из полей, по которым выполняется сортировка? |
|||
|
#18+
А что мешает создать индекс (a,b,c) ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.11.2013, 18:17:33
|
|||
|---|---|---|---|
Имеет ли смысл индексировать одно из полей, по которым выполняется сортировка? |
|||
|
#18+
Noob2014Но может быть есть смысл проиндексировать одно из полей? (Хочется поле c, так как его значения в записях будут увеличиваться быстрее чем a и b. )Возможно, сработает индекс по полю a. Но вот индекс по полю c точно не сработает, т.к. это поле не идет первым в ORDER BY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.11.2013, 18:55:08
|
|||
|---|---|---|---|
|
|||
Имеет ли смысл индексировать одно из полей, по которым выполняется сортировка? |
|||
|
#18+
Большое спасибо. Попробую индекс (a,b,c). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.11.2013, 19:10:37
|
|||
|---|---|---|---|
Имеет ли смысл индексировать одно из полей, по которым выполняется сортировка? |
|||
|
#18+
Noob2014, Я бы сказал, что индексация для ORDER BY -- это вообще очень сомнительная вещь. Для случая твоего запроса она может сработать -- там нет WHERE. Но в реальности запросов без WHERE не бывает, и индексы используются прежде всего для оптимизации выборки по SARG-ам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.11.2013, 01:48:04
|
|||
|---|---|---|---|
Имеет ли смысл индексировать одно из полей, по которым выполняется сортировка? |
|||
|
#18+
Если у тебя из этой таблицы всегда данные достаются отсортированными по a DESC, b DESC, c DESC , то ты можешь в свойствах самой таблицы указать что сортировать по этим полям. Например: Код: sql 1. и теперь уже обычный запрос: Код: sql 1. будет выдавать тебе отсортированную в нужном порядке таблицу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.11.2013, 02:22:04
|
|||
|---|---|---|---|
Имеет ли смысл индексировать одно из полей, по которым выполняется сортировка? |
|||
|
#18+
InterSkyЕсли у тебя из этой таблицы всегда данные достаются отсортированными по a DESC, b DESC, c DESC , то ты можешь в свойствах самой таблицы указать что сортировать по этим полям. Например: Код: sql 1. и теперь уже обычный запрос: Код: sql 1. будет выдавать тебе отсортированную в нужном порядке таблицу.С такой массой оговорок, что не вижу смысла связываться. Например: 1) Только для MyISAM. 2) Первый же JOIN может испортить всю картину. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.11.2013, 08:07:26
|
|||
|---|---|---|---|
Имеет ли смысл индексировать одно из полей, по которым выполняется сортировка? |
|||
|
#18+
miksoftПервый же JOIN может испортить всю картину. Ключевое слово - "может"? Смотря какой JOIN. Как в прочем и в любой другой таблице отсортированной по автоинкрименту... Всё на самом деле зависит от задачи. Может создатель темы просто хочет увидеть 10 последних посетителей? miksoftТолько для MyISAM. А мне за всю жизнь не приходилось использовать что-то другое. Хотя я конечно допускаю что есть задачи в которых необходимы транзакции. Но в целом innoDB куда проблематичней, с кучей ограничений, да ещё и медленней. miksoftС такой массой оговорок, что не вижу смысла связываться А может напишите об этом разработчикам? Дескать прошу исключить данный функционал из следующих версий, ибо то что вы сделали работает с массой оговорок, и я не вижу в этом смысла. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.11.2013, 08:43:35
|
|||
|---|---|---|---|
Имеет ли смысл индексировать одно из полей, по которым выполняется сортировка? |
|||
|
#18+
InterSkyи теперь уже обычный запрос: Код: sql 1. будет выдавать тебе отсортированную в нужном порядке таблицу. Вот именно сюда нужно скопировать это ключевое слово "может", и заменить им слово "будет". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.11.2013, 08:46:54
|
|||
|---|---|---|---|
Имеет ли смысл индексировать одно из полей, по которым выполняется сортировка? |
|||
|
#18+
InterSkyА может напишите об этом разработчикам? Дескать прошу исключить данный функционал из следующих версий, ибо то что вы сделали работает с массой оговорок, и я не вижу в этом смысла. А какой функционал, а? что данные в таблице будут физически расположены в указанном сортироввкой порядке - вот это и есть весь функционал. А вот то, что они будут отдаваться сервером в этом порядке, если не указать сортировку - это не заложенный функционал и не следствие из него, а обычные досужие вымыслы, пусть оно зачастую и наблюдается на практике. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=47&tablet=1&tid=1835681]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
3ms |
track hit: |
32ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 198ms |
| total: | 299ms |

| 0 / 0 |
