MySQL - максимальное количество столбцов #667380


#0 by FoxFox
Предыстория проблемы: Делаю интеграцию 1С-овской конфы с интернет-магазином, в ней используется компонент, в котором весьма извращенно реализовано хранение свойств товаров: для каждого из них в таблице товаров добавляется колонка "extra_field_" + ИД характеристики. Оригинально, что сказать. Проблема: При программном создании колонок на каком-то этапе MySQL посылает с ошибкой "Too many columns" (в этот момент их 1500). Читаю инфу, от чего это зависит, пишут, что ограничивается не количество колонок, а размер таблицы - 4Гб. Смотрю в админке баз, требуемая таблица занимает 6.5 мегабайт - тоже "круглое" число.. Поскольку это все хозяйство крутится на том, что установилось с Denwer'ом, подозреваю, что где-то в настройках стоит ограничение, но где? И где еще копать? Ну и сразу чтобы знать, что делать, если на рабочем хостинге будет такая же напасть.
#1 by Asmody
За структуру такую, конечно, надо руки обратно у жопе приделывать. Попробуй заменить MySQL на MariaDB
#2 by КонецЦикла
Тоже вожусь сейчас с инет-магазином. Я бы отказался от такого проекта. Естественно напасть будет, и не одна... а когда еще начнутся реальные просмотры и заказы?
#3 by ice777
а разве от смены БД.. а, ну ладно, дадут автору другую компоненту, которая будет делать строчки..
#4 by Asmody
Мария - это форк мускуля, причем от создателя, который не захотел под Oracle ложиться. Мария развивается очень успешно и быстрее, чем мускуль
#5 by zmaximka
1500 колонок в таблице? ИМХО что то не так в консерватории
#6 by Asmody
а еще в Марии есть динамические колонки. это вообще аналог свойств
#7 by FoxFox
Интернет-магазин давно уже крутится, до этого они уже делали загрузку данных из 1С через файлики, а сейчас хотят онлайн. И поскольку мне дали для работы сайт именно с этой компонентой, по всей видимости и дальше с ней будут работать Для тестов на своей машине можно попробовать, вопрос в том, что если на рабочем хостинге такое случится (очень надеюсь, что нет), тогда где крутить настройки
#8 by ЧеловекДуши
Оптимизируй запрос, получай данный партиями :)
#9 by Escander
ну чё так сразу прям ложиться! почти все мы продаём свой труд, умения, навыки... в конце концов "кого нельзя купить, того можно продать"!
#10 by ЧеловекДуши
Это от кривизны рук... Походу тот кто лепит таблицу, тупо строчки забил в колонки для наглядности, веди так же проще :)
#11 by Escander
пиши свою собственную выгрузку а не на основе непристойного назначения компонент
#12 by Escander
1500 товаров - для магазина это не много
#13 by FoxFox
Ты не понял, эта компонента в движке интернет-магазина, а не в выгрузке 1С, которая полностью самописная и не использует никаких дополнительных компонент (ну если не считать программулинку для обработки изображений). 1500 свойств товаров, а не самих товаров! Товаров в тестовой базе пока 10к, думаю, будет больше
#14 by FoxFox
Щито? :) Куда уж оптимальнее: ALTER TABLE " + ПрефиксБД +"_jshopping_products ADD extra_field_666 INT"
#15 by Escander
ну всё-же что-бы не написать свою выгрузку?
#16 by FoxFox
Читай еще и еще до полного просветления : "в выгрузке 1С, которая полностью самописная " :)
Тэги: Веб-мастеринг
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С