Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 8 Ответов
  • 1479 Просмотров
*

buto

  • Давно я тут
  • 568
  • 1 / 0
Добрый день, Joomla 3.9.24 Joom Shopping 4.18.5  . Столкнулся с тем что сайт дико тупит при фильтрации товаров. Техподдержка модуля указала на ошибку
Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. You have to change some columns to TEXT or BLOBs
Надо уменьшить правильно длину полей. Насколько я помню , еще давно, характеристика текст занимает намного больше места (умные люди подтвердили), что нужно сделать пошагово? Просто прочел на форуме много тем (к примеру тут наоборот на текст вроде как меняли в такой же ситуации Ошибка при добавлении большого числа характеристик в JoomShopping ) и полностью запутался. На данный момент так выглядят ошибки через чекер http://prntscr.com/10dhphb
Если я правильно понимаю, даже удалив характеристики (сами характеристики где тип текст, текст все равно останется в товарах и будет занимать какой-то объем, либо это я уже придумал?)
Если выше, утверждение ложное, то мой порядок действий какой должен быт (?), что то типо такого: удалить все не очень важные характеристики товаров (347 их на данный момент у меня), удалить максимальное количество характеристик тип текст (их к слову половина), переделать какое-то количество характеристики текст в тип список (как это сделать вообще возможно?), изменить длину VARCHAR(n) у характеристик (какое значение лучше ставить?), либо если кто-то посоветует что-то более правильное. Задачу надо решить в любом случае .
*

sivers

  • Живу я здесь
  • 2465
  • 336 / 0
Вероятно, речь идет про суммарную длину всех полей в строке.

изменить длину VARCHAR(n) у характеристик (какое значение лучше ставить?)

Найти значение максимальной длины для данного поля, накинуть "про запас" и ограничить. Либо предположить длину исходя из назначения поля.
Если действительное есть необходимость хранения больших объемов данных для каждой записи - можно хранить их во внешних файлах, а не в БД. И подгружать по мере надобности. Это сгодится для полей, по которым НЕ ведется поиск в БД.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

draff

  • Гуру
  • 5803
  • 434 / 7
  • ищу работу
А этой ошибки нет при отключенном модуле ? Похоже что глюк при обновлении Joomla у вас не прошел бесследно .
Включите лог медленных запросов myqsl и смотрите  .
*

buto

  • Давно я тут
  • 568
  • 1 / 0
то то типо таког
Есть ошибка при выключенном модуле. Никак не связано скорее всего
Цитировать
Похоже что глюк при обновлении Joomla у вас не прошел бесследно .
Хм...разве такое бывает, с какой версии это может произойти
Цитировать
Включите лог медленных запросов myqsl и смотрите  .
Почитал про медленный лог, а что должно показать, хотя бы что искать? Я так понимаю задача довольно сложная и требует углубленных знаний?
*

buto

  • Давно я тут
  • 568
  • 1 / 0
Вероятно, речь идет про суммарную длину всех полей в строке.

Найти значение максимальной длины для данного поля, накинуть "про запас" и ограничить. Либо предположить длину исходя из назначения поля.
Если действительное есть необходимость хранения больших объемов данных для каждой записи - можно хранить их во внешних файлах, а не в БД. И подгружать по мере надобности. Это сгодится для полей, по которым НЕ ведется поиск в БД.
Цитировать
Да скорее всего речь идет о суммарной длине всех полей?
Да, тоже так думаю.
Цитировать
Найти значение максимальной длины для данного поля
Вот как это вычислить? Не нашел нигде данных, ответ служба техподдержки тоже не дала, так как это не относится к модулю , а целиком к компоненту вопрос. Вот как найти это значение, чтобы понимать к какому результату надо стремиться?
Цитировать
Либо предположить длину исходя из назначения поля.
вот это интереснее, можете по-подробнее?
Пока задача просто решить проблему с базой данных, что компоненты быстрее работал как и фильтр. Товаров просто более 17 к

*

sivers

  • Живу я здесь
  • 2465
  • 336 / 0
Вот как это вычислить?
Допустим, у вас в таблице есть поля field_1, field_2, field_3 делайте по ним запросы (поочередно) такого вида:
Код
SELECT MAX(LENGTH(field_1)) FROM my_table
Если записей много, то считать будет долго, но точно узнаете максимальную длину поля из имеющихся значений..

вот это интереснее, можете по-подробнее?
А здесь проще. Допустим, у вас есть поле для хранения ФИО клиента. Допускаем, что фамилия врядли будет превышать 64 символа (и то с большим запасом взяли). То же самое с именем и отчеством. А значит, можно ограничить длину поля до ~ 3*64 символов и назначить ему varchar(192)
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

draff

  • Гуру
  • 5803
  • 434 / 7
  • ищу работу
Почитал про медленный лог, а что должно показать, хотя бы что искать?
Самое большое превышение по времени, потом расширение которое делает запрос проверить на актуальность, вплоть до замены папки расширения, чтобы старые файлы не влияли на тест .
*

ProtectYourSite

  • Живу я здесь
  • 2356
  • 135 / 4
  • Безопасность вебсайтов
Самое большое превышение по времени, потом расширение которое делает запрос проверить на актуальность, вплоть до замены папки расширения, чтобы старые файлы не влияли на тест .
Брехня, лог медленных запросов - это список запросов, которые превышают по времени заданный лимит, только и всего. Если на сервере затуп, то туда попадут любые запросы, и инфа не даст ничего, а только введёт в заблуждение.
*

draff

  • Гуру
  • 5803
  • 434 / 7
  • ищу работу
Брехня, лог медленных запросов - это список запросов, которые превышают по времени заданный лимит, только и всего.
Ну если вы не умеете пользоваться, то кто вам доктор .
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Free attribute type (nevigen)

Автор Aspik

Ответов: 2
Просмотров: 1234
Последний ответ 13.07.2014, 21:22:31
от Aspik
Где изменить значение size для селектора <select></select>

Автор rafaello9

Ответов: 1
Просмотров: 962
Последний ответ 08.11.2012, 03:22:52
от ikus