Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Ищет по id но он не нужен для поиска
|
|||
|---|---|---|---|
|
#18+
представьте есть таблица Код: sql 1. 2. 3. составляется запрос который зависит от fk_id1 и fk_id2 и никак не зависит от id, на котором кластерный индекс. В плане же пишется что 95% времени занимает поиск по кластерному индексу id запрос примерно такого вида Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2018, 19:26 |
|
||
|
Ищет по id но он не нужен для поиска
|
|||
|---|---|---|---|
|
#18+
ну и собственно вопрос почему он все время вроде как ищет по id? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2018, 19:27 |
|
||
|
Ищет по id но он не нужен для поиска
|
|||
|---|---|---|---|
|
#18+
Дядя Коляну и собственно вопрос почему он все время вроде как ищет по id?Ищет - это какая операция? Иднекс скан? Вы бы лучше план запроса выложили. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2018, 19:41 |
|
||
|
Ищет по id но он не нужен для поиска
|
|||
|---|---|---|---|
|
#18+
ну вот это 99% занимает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2018, 20:02 |
|
||
|
Ищет по id но он не нужен для поиска
|
|||
|---|---|---|---|
|
#18+
Дядя Коля, на полях fk_id1 и fk_id2 - индексы есть? Если нет, то чего вы хотите от сервера? единственный способ получить данные из таблицы в отсутствие индексов - это прочитать таблицу полностью. что в вашем случае, скорее всего, и происходит. Ибо скан (scan) кластерного индекса = полному чтению таблицы (потому что при наличии кластерного индекса - индекс и есть таблица). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2018, 20:48 |
|
||
|
Ищет по id но он не нужен для поиска
|
|||
|---|---|---|---|
|
#18+
Дядя Коляну вот это 99% занимает Запрос "примерный", план картинками, про таблицы и индексы ничего неизвестно... Так диагноз не поставить. Скорее всего, раз у вас поиск по кластерному индексу, значит, по одному из полей есть индекс, ну а для получения второго поля нужно лезть в кластерный. Как то так. лечится созданием индекса на fk_id1 и fk_id2. Но может не помочь, запрос то "примерный". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2018, 23:17 |
|
||
|
Ищет по id но он не нужен для поиска
|
|||
|---|---|---|---|
|
#18+
Щукина Аннана полях fk_id1 и fk_id2 - индексы есть? Если нет, то чего вы хотите от сервера?Если бы не было, то был бы скан по кластерному индексу. А тут поиск. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2018, 23:18 |
|
||
|
Ищет по id но он не нужен для поиска
|
|||
|---|---|---|---|
|
#18+
Щукина АннаДядя Коля, на полях fk_id1 и fk_id2 - индексы есть? Если нет, то чего вы хотите от сервера? единственный способ получить данные из таблицы в отсутствие индексов - это прочитать таблицу полностью. что в вашем случае, скорее всего, и происходит. Ибо скан (scan) кластерного индекса = полному чтению таблицы (потому что при наличии кластерного индекса - индекс и есть таблица). есть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2018, 13:34 |
|
||
|
Ищет по id но он не нужен для поиска
|
|||
|---|---|---|---|
|
#18+
Дядя КоляЩукина АннаДядя Коля, на полях fk_id1 и fk_id2 - индексы есть? Если нет, то чего вы хотите от сервера? единственный способ получить данные из таблицы в отсутствие индексов - это прочитать таблицу полностью. что в вашем случае, скорее всего, и происходит. Ибо скан (scan) кластерного индекса = полному чтению таблицы (потому что при наличии кластерного индекса - индекс и есть таблица). есть ну так недостаточно вашего индекса. И вместо того что бы SEEK NC index + LOOKUP, делает SCAN кластерного. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2018, 13:37 |
|
||
|
Ищет по id но он не нужен для поиска
|
|||
|---|---|---|---|
|
#18+
Самый оптимальный индекс для приведенного вами запроса такой: Код: sql 1. 2. Но скорее всего вы не два столбца выбираете а больше: Код: sql 1. Поэтому вам нужен индекс с включенными столбцами, чтобы небыло поиска в кластерном индексе. Код: sql 1. 2. 3. Имейте в видду что включение больльшого кол-ва полей в индекс увеличивает его размеры. Если получается так что вам надо включить почти все поля таблицы, подумайте о том чтобы поменять кластреный индекс, сделайте его по полям fk_id1, fk_id2. Но вам надо учитывать другие запросы к этой таблице, проведите анализ прежде чем делать эти изменения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2018, 09:25 |
|
||
|
Ищет по id но он не нужен для поиска
|
|||
|---|---|---|---|
|
#18+
Владимир Затуливетер, авторЕсли получается так что вам надо включить почти все поля таблицы, подумайте о том чтобы поменять кластреный индекс, сделайте его по полям fk_id1, fk_id2. Но вам надо учитывать другие запросы к этой таблице, проведите анализ прежде чем делать эти изменения. действительно, делать кластер по FK, да ещё и по двум это очень правильно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2018, 11:30 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39679857&tid=1689334]: |
0ms |
get settings: |
7ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
145ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
2ms |
| others: | 224ms |
| total: | 477ms |

| 0 / 0 |
