171 похожих чатов

Есть статья о том, как грамотно расставлять индексы для MODX?

Что-то гуглю и не получается ничего подходящего найти.

21 ответов

30 просмотров

Индексы никак к modx не привязаны. Это общий курс

зачем оно вам?

Evg- Автор вопроса
Алексей Смирнов
зачем оно вам?

Чтобы ускорить работу сайта.

Evg- Автор вопроса
Алексей Смирнов
зачем оно вам?

Например, я вижу, что в таблице modx_ms2_product_options нет индекса для значения. Хотя mFilter2 же фильтрует по значениям. Было бы полезно добавить такой индекс.

Evg
Например, я вижу, что в таблице modx_ms2_product_o...

Для этого надо много чего переписать.

Evg- Автор вопроса
Артур Шевченко💀
Для этого надо много чего переписать.

погодь.. это прям уже в пекло ты бросаешься )))

Evg
Чтобы добавить индекс?

Что после этого опции работали и чтобы mFilter2 с ними работал

Evg
Чтобы ускорить работу сайта.

вот ответьте на вопрос. сколько сек и на какой странице у вас проблема?

Evg- Автор вопроса
Артур Шевченко💀
Что после этого опции работали и чтобы mFilter2 с ...

От добавления индекса опции могут не работать?

Evg- Автор вопроса
Артур Шевченко💀
Что после этого опции работали и чтобы mFilter2 с ...

Разве можно написать SQL запрос для фильтрации по значениям опций без WHERE, в котором указан столбец со значениями опций? Мне кажется, что нельзя. Ну а индексы как раз и ставятся на столбцы, которые участвуют в WHERE. Это один из самых распространенных случаев, где нужно использовать индексы.

Evg
От добавления индекса опции могут не работать?

Ну какой смысл добавлять индекс если о нём, грубо говоря, никто не будет знать?

Алексей Смирнов
БД будет знать

Наверное я не понимаю суть задачи.

Evg- Автор вопроса
Алексей Смирнов
БД будет знать

И если всё так просто, то почему @biz87 до сих пор не добавил индексы? Лень?

Evg- Автор вопроса
Артур Шевченко💀
И если всё так просто, то почему @biz87 до сих пор...

Потому что компонент mFilter2 платный. А в платный не имеют доступа другие разработчики. Имеет доступ только автор. Один человек легко может допустить опечатку и не исправлять ее годами.

Evg- Автор вопроса
Артур Шевченко💀
Для этого надо много чего переписать.

Смотри. Есть такой запрос: EXPLAIN SELECT * FROM modx_ms2_product_options WHERE `key`= 'adgeziya-k-gipsokartonu' AND `value` = '123' Вернулась таблица. Без индекса в столбце rows 1102182 (сколько примерно строк просмотрено во время запроса). Я добавляю индекс: ALTER TABLE `modx_ms2_product_options` ADD INDEX `value` (`value`(500)) USING BTREE; Снова выполняю EXPLAIN. Теперь в rows такое значение: 55. Почему ты считаешь, что для ускорения выборки надо много чего перезаписать?

Evg
Смотри. Есть такой запрос: EXPLAIN SELECT * FROM m...

Ты выполнял сырые запросы, а ты проверил это на mFilter2, стало быстрее? Просто, я вообще ничего не утверждаю, это было моё предположение. Если ты добавишь индексы и это ускорит работу mFilter2, а потом поделишься своим кейсом, то всё сообщество будет тебе благодарно, может быть не только на словах.

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта