Возник вопрос в хранении данных в базе на разных языках. Никак не могу придумать как лучше это реализовать.
Допустим, статьи и новости - для их текстов идут отдельные таблицы в которых хранятся переводы. Там данных то не мало: название, краткое описание, полное описание...
С этим вопросов нет.
А вот, допустим, группа юзеров. Там то описания у меня нет, есть только название группы.
И создавать отдельно табличку под одно поле как-то не хочется.
И таких функций, где текст только в одном поле - не мало.
Группы пользователей, статусы всякие, названия типов обработки картинок, события и т.д.. и т.д...
Как с ними быть?
Насколько правильно в данном случае, будет создать отдельную таблицу для всех переводов?
С одной стороны это даже удобно и облегчило бы массовое управление этим всем. Но, мне кажется это не особо и правильно как-то.
Владимир, спасибо. Но это немного не то.
Там не строка с ссылкой, а куча текста и в нём ссылки.
Смысл в том, чтобы проходить по текусу, находить ссылки и добавлять к ним мой параметр.
Есть на руках текст в котором куча ссылок. Ссылки и http и https, в теге a href и нет.
Мне нужно вообще всем ссылкам добавить свой параметр в конце. При этом нужно учитывать, что ссылка уже может быть с параметрами. То есть нужно читывать ? или &
Скажем
site_name.domain/?default=param&moy=parametr
и
site_name.domain/tipa-seo-url?moy=parametr
Если регуляркой еще могу найти ссылки, то как им сразу добавить moy=parametr не пойму. Что-то и нагуглись по этому вопросу ничего не смог.
Вторая проверка показала тоже самое.
Были выполнены два запроса на две "проблемные" таблицы, на которых и происходит зависание.
Через PMA виснет секунд по 10 первое выполение запроса на удаление.
Последующие запросы выполняются мгновенно.
Показывая запрос, видимо, Вы имели ввиду не database, а таблицу
Да, таблицу. Не то написал.
Vladimir Kheifets пишет:
Попробуйте проверить, как отрабатывается тот же запрос в phpMyAdmin,
В phpmyadmin первый запрос на удаление выполняется дольше. Вот только сейчас проверил.
Сделал удаление и зависания вроде бы и нет..., но пока PMA обработал запрос прошло сек. 6-10.
Сделующий запрос точно такой же уже был моментальный.
mysql_error ничего не дает. сервер тупо виснет и после выводит ошибку с таймаутом.
зависает сайт полностью.
Причем такое только когда делаешь это первый раз с утра. Дальше тормозов таких не наблюдается.
Грубоговоря виснет один раз в день. Бывает чаще и на других похожих запросах.
Что странно, так это то, что зависание всегда именно на определенных действиях. В остальном таких проблем нет совершенно. То есть именно работа с парой таблиц на удаление, обновление и добавление.
В этих таблицах записей совсем не много, от 10 и до 300.
Проставлены индексы и и запросы все по ключу без лишних данных в where.
Скрипт старый, работает еще mysql.
Раньше таблицы на которых виснет были MyISAM. Сделал InnoDB - толку нет.
Далее, мне нужно выполнить условие в запросе и вытащить записи по условию:
1 - Если прошло $days_1 дней после даты создания и меньше чем количество $days_2 дней.
2 - Если прошло $days_2 дней после даты создания и меньше чем количество $days_3 дней.
3 - Если больше или равно $days_3
То есть:
1 - вытащить записи у которых с момента публикации прошло больше или равно 2 дня и меньше 8 дней.
2 - вытащить записи у которых с момента публикации прошло 8 дней и меньше 16 дней.
3 - вытащить записи у которых с момента публикации прошло больше или равно 16 дней.
Я честно смотрел про работу с датами, но там столько всего, что реально не могу въехать в тонкости выборки.
Буду благодарен за любую помощь в решении этой не простой для меня задачи))
Тут все хорошо, за исключением сортировки.
Как видно искомый товар "Samsung NP300E4A-A03 2330M" самый последний по запросу "Samsung 2330M".
Очевидно, что его нужно подтолкнуть вверх, на первое место.
Поиск в базе идет по обычным LIKE. Выборка по нескольким полям, по этому не смог придумать что ставить на первое место в ORDER BY из полей.
Может есть какие-то решения, чтобы в запросе проверять, что больше совпало из выборки и по ним сортировать?
Либо вариант сортировки массива по большему совпадению слов в name? Но тут придется прогонять массив неизвестно какого объема. Не будет ли долгим весь этот процесс?